aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAníbal Limón <anibal.limon@linaro.org>2018-07-11 15:37:56 -0500
committerAníbal Limón <anibal.limon@linaro.org>2018-07-12 10:05:39 -0500
commit2f872731a4f501b2c68bf8aa5646182f467743b0 (patch)
treecf36c0a6380e14899d03235c9800ae0d51b86f8a
parenta93fb12a779d041710ce6934135c29cfd98fc77e (diff)
lt-qcom-linux-integration: Add support for functional testing
The functional testing involves the usage of full userspace rootfs to test {os, hci, wlan, usb}-smoke, wlan-download, pm-qa and storage (dd read/write). The base_template-functional differs between dragonboard-410c and boards because, dragonboard-820c: Requires to flash partition:0 to use Linux and Android. sdm845-mtp: Don't require pre-power-command and uses userdata instead of rootfs. The job priority is set to medium to be able to get bootrr results first (high priority). Change-Id: I118458caf8e1f39abbdf7dc3da7d92834a043067 Signed-off-by: Aníbal Limón <anibal.limon@linaro.org>
-rw-r--r--lt-qcom-linux-integration/lava-job-definitions/boards/template-functional.yaml91
-rw-r--r--lt-qcom-linux-integration/lava-job-definitions/dragonboard-410c/base_template-functional.yaml108
l---------lt-qcom-linux-integration/lava-job-definitions/dragonboard-410c/template-bootrr.yaml1
l---------lt-qcom-linux-integration/lava-job-definitions/dragonboard-410c/template-functional.yaml1
-rw-r--r--lt-qcom-linux-integration/lava-job-definitions/dragonboard-820c/base_template-functional.yaml112
l---------lt-qcom-linux-integration/lava-job-definitions/dragonboard-820c/template-bootrr.yaml1
l---------lt-qcom-linux-integration/lava-job-definitions/dragonboard-820c/template-functional.yaml1
-rw-r--r--lt-qcom-linux-integration/lava-job-definitions/sdm845-mtp/base_template-functional.yaml97
l---------lt-qcom-linux-integration/lava-job-definitions/sdm845-mtp/template-functional.yaml1
-rwxr-xr-xlt-qcom-linux-integration/submit_for_testing.sh40
10 files changed, 453 insertions, 0 deletions
diff --git a/lt-qcom-linux-integration/lava-job-definitions/boards/template-functional.yaml b/lt-qcom-linux-integration/lava-job-definitions/boards/template-functional.yaml
new file mode 100644
index 0000000000..57d816d41c
--- /dev/null
+++ b/lt-qcom-linux-integration/lava-job-definitions/boards/template-functional.yaml
@@ -0,0 +1,91 @@
+- test:
+ namespace: ${LAVA_DEVICE_TYPE}
+ name: qcomlt-smoke
+ timeout:
+ minutes: 10
+ definitions:
+ - repository: https://git.linaro.org/qa/test-definitions.git
+ from: git
+ path: automated/linux/smoke/smoke.yaml
+ params:
+ TESTS: ${SMOKE_TESTS}
+ name: linux-smoke
+ - repository: https://git.linaro.org/qa/test-definitions.git
+ from: git
+ path: automated/linux/usb-smoke/usb-smoke-test.yaml
+ name: linux-usb-smoke
+ - repository: https://git.linaro.org/qa/test-definitions.git
+ from: git
+ path: automated/linux/hci-smoke/hci-smoke.yaml
+ params:
+ BOOT: auto
+ name: linux-hci-smoke
+ - repository: https://git.linaro.org/qa/test-definitions.git
+ from: git
+ path: automated/linux/wlan-smoke/wlan-smoke.yaml
+ params:
+ DEVICE: ${WLAN_DEVICE}
+ name: linux-wlan-smoke
+
+- test:
+ namespace: ${LAVA_DEVICE_TYPE}
+ name: qcomlt-wlan-download
+ timeout:
+ minutes: 20
+ definitions:
+ - repository: https://git.linaro.org/qa/test-definitions.git
+ from: git
+ path: automated/linux/wlan-download/wlan-download.yaml
+ params:
+ DEVICE: ${WLAN_DEVICE}
+ ETHERNET_DEVICE: ${ETH_DEVICE}
+ SSID_NAME: LAVATESTX
+ SSID_PASSWORD: NepjqGbq
+ FILE_URL: http://testdata.validation.linaro.org/stress/stress-network.img
+ FILE_CHECKSUM: e5c834fbdaa6bfd8eac5eb9404eefdd4
+ TIME_DELAY: ${WLAN_TIME_DELAY}
+ name: linux-wlan-download
+
+- test:
+ namespace: ${LAVA_DEVICE_TYPE}
+ name: qcomlt-storage
+ timeout:
+ minutes: 65
+ definitions:
+ - repository: https://git.linaro.org/qa/test-definitions.git
+ from: git
+ path: automated/linux/dd-wr-speed/dd-wr-speed.yaml
+ name: linux-dd-wr-speed
+ - repository: https://git.linaro.org/qa/test-definitions.git
+ from: git
+ path: automated/linux/device-read-perf/device-read-perf.yaml
+ name: linux-device-read-perf
+
+- test:
+ namespace: ${LAVA_DEVICE_TYPE}
+ name: qcomlt-pm-qa
+ timeout:
+ minutes: 15
+ definitions:
+ - repository: https://git.linaro.org/qa/test-definitions.git
+ from: git
+ path: automated/linux/pm-qa/pm-qa.yaml
+ name: linux-pm-qa
+ params:
+ TESTS: ${PM_QA_TESTS}
+
+device_type: ${LAVA_DEVICE_TYPE}
+job_name: lt-qcom-linux-integration-functional-${BUILD_NUMBER}
+timeouts:
+ job:
+ minutes: 150
+ action:
+ minutes: 15
+ connection:
+ minutes: 2
+priority: medium
+visibility: public
+
+metadata:
+ source: https://git.linaro.org/ci/job/configs.git
+ path: lt-qcom-linux-integration/lava-job-definitions/${LAVA_DEVICE_TYPE}/template-functional.yaml
diff --git a/lt-qcom-linux-integration/lava-job-definitions/dragonboard-410c/base_template-functional.yaml b/lt-qcom-linux-integration/lava-job-definitions/dragonboard-410c/base_template-functional.yaml
new file mode 100644
index 0000000000..6da346d12e
--- /dev/null
+++ b/lt-qcom-linux-integration/lava-job-definitions/dragonboard-410c/base_template-functional.yaml
@@ -0,0 +1,108 @@
+protocols:
+ lava-lxc:
+ name: lxc-${LAVA_DEVICE_TYPE}-test
+ template: debian
+ distribution: debian
+ release: stretch
+
+actions:
+- deploy:
+ namespace: tlxc
+ timeout:
+ minutes: 5
+ to: lxc
+ packages:
+ - wget
+ - unzip
+ - img2simg
+ - simg2img
+ - e2fsprogs
+ - gzip
+ os: debian
+
+- boot:
+ namespace: tlxc
+ prompts:
+ - 'root@(.*):/#'
+ - 'root@linaro-developer:~#'
+ timeout:
+ minutes: 5
+ method: lxc
+
+- deploy:
+ timeout:
+ minutes: 40
+ to: download
+ namespace: ${LAVA_DEVICE_TYPE}
+ images:
+ boot:
+ url: ${BOOT_ROOTFS_URL}
+ compression: ${BOOT_ROOTFS_URL_COMP}
+ rootfs:
+ url: ${ROOTFS_URL}
+ compression: ${ROOTFS_URL_COMP}
+ os: oe
+
+- test:
+ namespace: tlxc
+ timeout:
+ minutes: 10
+ definitions:
+ - from: inline
+ name: install-google-fastboot
+ path: inline/install-google-fastboot.yaml
+ repository:
+ metadata:
+ format: Lava-Test Test Definition 1.0
+ name: install-fastboot
+ description: "Install fastboot provided by google"
+ run:
+ steps:
+ - if [ -z "${INSTALL_FASTBOOT}" ]
+ - then
+ - echo "install_fastboot:" "skip"
+ - else
+ - wget https://dl.google.com/android/repository/platform-tools_r26.0.2-linux.zip
+ - unzip -q platform-tools_r26.0.2-linux.zip
+ - ln -s `pwd`/platform-tools/fastboot /usr/bin/fastboot
+ - ln -s `pwd`/platform-tools/adb /usr/bin/adb
+ - fastboot --version
+ - echo "install_fastboot:" "pass"
+ - fi
+
+- deploy:
+ timeout:
+ minutes: 40
+ to: fastboot
+ namespace: ${LAVA_DEVICE_TYPE}
+ images:
+ boot:
+ url: lxc:///${LXC_BOOT_ROOTFS_FILE}
+ rootfs:
+ url: lxc:///${LXC_ROOTFS_FILE}
+ apply-overlay: true
+ os: oe
+ protocols:
+ lava-lxc:
+ - action: fastboot-deploy
+ request: pre-power-command
+ timeout:
+ minutes: 2
+
+- boot:
+ namespace: ${LAVA_DEVICE_TYPE}
+ auto_login:
+ login_prompt: 'login:'
+ username: 'root'
+ prompts:
+ - 'root@(.*):/#'
+ - ${BOOT_OS_PROMPT}
+ timeout:
+ minutes: 15
+ method: fastboot
+ protocols:
+ lava-lxc:
+ - action: auto-login-action
+ request: pre-os-command
+ timeout:
+ minutes: 2
diff --git a/lt-qcom-linux-integration/lava-job-definitions/dragonboard-410c/template-bootrr.yaml b/lt-qcom-linux-integration/lava-job-definitions/dragonboard-410c/template-bootrr.yaml
new file mode 120000
index 0000000000..e1a90b65a0
--- /dev/null
+++ b/lt-qcom-linux-integration/lava-job-definitions/dragonboard-410c/template-bootrr.yaml
@@ -0,0 +1 @@
+../boards/template-bootrr.yaml \ No newline at end of file
diff --git a/lt-qcom-linux-integration/lava-job-definitions/dragonboard-410c/template-functional.yaml b/lt-qcom-linux-integration/lava-job-definitions/dragonboard-410c/template-functional.yaml
new file mode 120000
index 0000000000..bf272dc64d
--- /dev/null
+++ b/lt-qcom-linux-integration/lava-job-definitions/dragonboard-410c/template-functional.yaml
@@ -0,0 +1 @@
+../boards/template-functional.yaml \ No newline at end of file
diff --git a/lt-qcom-linux-integration/lava-job-definitions/dragonboard-820c/base_template-functional.yaml b/lt-qcom-linux-integration/lava-job-definitions/dragonboard-820c/base_template-functional.yaml
new file mode 100644
index 0000000000..d324c23fa1
--- /dev/null
+++ b/lt-qcom-linux-integration/lava-job-definitions/dragonboard-820c/base_template-functional.yaml
@@ -0,0 +1,112 @@
+protocols:
+ lava-lxc:
+ name: lxc-${LAVA_DEVICE_TYPE}-test
+ template: debian
+ distribution: debian
+ release: stretch
+
+actions:
+- deploy:
+ namespace: tlxc
+ timeout:
+ minutes: 5
+ to: lxc
+ packages:
+ - wget
+ - unzip
+ - img2simg
+ - simg2img
+ - e2fsprogs
+ - gzip
+ os: debian
+
+- boot:
+ namespace: tlxc
+ prompts:
+ - 'root@(.*):/#'
+ - 'root@linaro-developer:~#'
+ timeout:
+ minutes: 5
+ method: lxc
+
+- deploy:
+ timeout:
+ minutes: 40
+ to: download
+ namespace: ${LAVA_DEVICE_TYPE}
+ images:
+ "partition:0":
+ url: http://images.validation.linaro.org/snapshots.linaro.org/96boards/dragonboard820c/linaro/rescue/37/dragonboard-820c-bootloader-ufs-linux-37/gpt_both0.bin
+ boot:
+ url: ${BOOT_ROOTFS_URL}
+ compression: ${BOOT_ROOTFS_URL_COMP}
+ rootfs:
+ url: ${ROOTFS_URL}
+ compression: ${ROOTFS_URL_COMP}
+ os: oe
+
+- test:
+ namespace: tlxc
+ timeout:
+ minutes: 10
+ definitions:
+ - from: inline
+ name: install-google-fastboot
+ path: inline/install-google-fastboot.yaml
+ repository:
+ metadata:
+ format: Lava-Test Test Definition 1.0
+ name: install-fastboot
+ description: "Install fastboot provided by google"
+ run:
+ steps:
+ - if [ -z "${INSTALL_FASTBOOT}" ]
+ - then
+ - echo "install_fastboot:" "skip"
+ - else
+ - wget https://dl.google.com/android/repository/platform-tools_r26.0.2-linux.zip
+ - unzip -q platform-tools_r26.0.2-linux.zip
+ - ln -s `pwd`/platform-tools/fastboot /usr/bin/fastboot
+ - ln -s `pwd`/platform-tools/adb /usr/bin/adb
+ - fastboot --version
+ - echo "install_fastboot:" "pass"
+ - fi
+
+- deploy:
+ timeout:
+ minutes: 40
+ to: fastboot
+ namespace: ${LAVA_DEVICE_TYPE}
+ images:
+ "partition:0":
+ url: lxc:///gpt_both0.bin
+ boot:
+ url: lxc:///${LXC_BOOT_ROOTFS_FILE}
+ rootfs:
+ url: lxc:///${LXC_ROOTFS_FILE}
+ apply-overlay: true
+ os: oe
+ protocols:
+ lava-lxc:
+ - action: fastboot-deploy
+ request: pre-power-command
+ timeout:
+ minutes: 2
+
+- boot:
+ namespace: ${LAVA_DEVICE_TYPE}
+ auto_login:
+ login_prompt: 'login:'
+ username: 'root'
+ prompts:
+ - 'root@(.*):/#'
+ - ${BOOT_OS_PROMPT}
+ timeout:
+ minutes: 15
+ method: fastboot
+ protocols:
+ lava-lxc:
+ - action: auto-login-action
+ request: pre-os-command
+ timeout:
+ minutes: 2
diff --git a/lt-qcom-linux-integration/lava-job-definitions/dragonboard-820c/template-bootrr.yaml b/lt-qcom-linux-integration/lava-job-definitions/dragonboard-820c/template-bootrr.yaml
new file mode 120000
index 0000000000..e1a90b65a0
--- /dev/null
+++ b/lt-qcom-linux-integration/lava-job-definitions/dragonboard-820c/template-bootrr.yaml
@@ -0,0 +1 @@
+../boards/template-bootrr.yaml \ No newline at end of file
diff --git a/lt-qcom-linux-integration/lava-job-definitions/dragonboard-820c/template-functional.yaml b/lt-qcom-linux-integration/lava-job-definitions/dragonboard-820c/template-functional.yaml
new file mode 120000
index 0000000000..bf272dc64d
--- /dev/null
+++ b/lt-qcom-linux-integration/lava-job-definitions/dragonboard-820c/template-functional.yaml
@@ -0,0 +1 @@
+../boards/template-functional.yaml \ No newline at end of file
diff --git a/lt-qcom-linux-integration/lava-job-definitions/sdm845-mtp/base_template-functional.yaml b/lt-qcom-linux-integration/lava-job-definitions/sdm845-mtp/base_template-functional.yaml
new file mode 100644
index 0000000000..a0f3dffd37
--- /dev/null
+++ b/lt-qcom-linux-integration/lava-job-definitions/sdm845-mtp/base_template-functional.yaml
@@ -0,0 +1,97 @@
+protocols:
+ lava-lxc:
+ name: lxc-${LAVA_DEVICE_TYPE}-test
+ template: debian
+ distribution: debian
+ release: stretch
+
+actions:
+- deploy:
+ namespace: tlxc
+ timeout:
+ minutes: 5
+ to: lxc
+ packages:
+ - wget
+ - unzip
+ - img2simg
+ - simg2img
+ - e2fsprogs
+ - gzip
+ - fastboot
+ os: debian
+
+- boot:
+ namespace: tlxc
+ prompts:
+ - 'root@(.*):/#'
+ - 'root@linaro-developer:~#'
+ timeout:
+ minutes: 5
+ method: lxc
+
+- deploy:
+ timeout:
+ minutes: 40
+ to: download
+ namespace: ${LAVA_DEVICE_TYPE}
+ images:
+ boot:
+ url: ${BOOT_ROOTFS_URL}
+ compression: ${BOOT_ROOTFS_URL_COMP}
+ userdata:
+ url: ${ROOTFS_URL}
+ compression: ${ROOTFS_URL_COMP}
+ os: oe
+
+- test:
+ namespace: tlxc
+ timeout:
+ minutes: 10
+ definitions:
+ - from: inline
+ name: install-google-fastboot
+ path: inline/install-google-fastboot.yaml
+ repository:
+ metadata:
+ format: Lava-Test Test Definition 1.0
+ name: install-fastboot
+ description: "Install fastboot provided by google"
+ run:
+ steps:
+ - if [ -z "${INSTALL_FASTBOOT}" ]
+ - then
+ - echo "install_fastboot:" "skip"
+ - else
+ - wget https://dl.google.com/android/repository/platform-tools_r26.0.2-linux.zip
+ - unzip -q platform-tools_r26.0.2-linux.zip
+ - ln -s `pwd`/platform-tools/fastboot /usr/bin/fastboot
+ - ln -s `pwd`/platform-tools/adb /usr/bin/adb
+ - fastboot --version
+ - echo "install_fastboot:" "pass"
+ - fi
+
+- deploy:
+ timeout:
+ minutes: 40
+ to: fastboot
+ namespace: ${LAVA_DEVICE_TYPE}
+ images:
+ boot:
+ url: lxc:///${LXC_BOOT_ROOTFS_FILE}
+ userdata:
+ url: lxc:///${LXC_ROOTFS_FILE}
+ apply-overlay: true
+ os: oe
+
+- boot:
+ namespace: ${LAVA_DEVICE_TYPE}
+ auto_login:
+ login_prompt: 'login:'
+ username: 'root'
+ prompts:
+ - 'root@(.*):/#'
+ - ${BOOT_OS_PROMPT}
+ timeout:
+ minutes: 15
+ method: fastboot
diff --git a/lt-qcom-linux-integration/lava-job-definitions/sdm845-mtp/template-functional.yaml b/lt-qcom-linux-integration/lava-job-definitions/sdm845-mtp/template-functional.yaml
new file mode 120000
index 0000000000..bf272dc64d
--- /dev/null
+++ b/lt-qcom-linux-integration/lava-job-definitions/sdm845-mtp/template-functional.yaml
@@ -0,0 +1 @@
+../boards/template-functional.yaml \ No newline at end of file
diff --git a/lt-qcom-linux-integration/submit_for_testing.sh b/lt-qcom-linux-integration/submit_for_testing.sh
index 6041b65275..1bc3044651 100755
--- a/lt-qcom-linux-integration/submit_for_testing.sh
+++ b/lt-qcom-linux-integration/submit_for_testing.sh
@@ -12,19 +12,47 @@ export BOOT_URL=${PUBLISH_SERVER}${PUB_DEST}/${BOOT_FILE}
export BOOT_URL_COMP=
export LXC_BOOT_FILE=$(basename ${BOOT_URL})
+export BOOT_ROOTFS_URL=${PUBLISH_SERVER}${PUB_DEST}/${BOOT_ROOTFS_FILE}
+export BOOT_ROOTFS_URL_COMP=
+export LXC_BOOT_ROOTFS_FILE=$(basename ${BOOT_ROOTFS_URL})
+export ROOTFS_URL=${PUBLISH_SERVER}${PUB_DEST}/${ROOTFS_FILE}
+export ROOTFS_URL_COMP="gz"
+export LXC_ROOTFS_FILE=$(basename ${ROOTFS_URL} .gz)
+
case "${MACHINE}" in
dragonboard410c|dragonboard820c|sdm845_mtp)
if [ ${MACHINE} = "dragonboard410c" ]; then
export LAVA_DEVICE_TYPE="dragonboard-410c"
export INSTALL_FASTBOOT=True
+
+ export PM_QA_TESTS="cpufreq cpuidle cpuhotplug cputopology"
+ export WLAN_DEVICE="wlan0"
+ export WLAN_TIME_DELAY="0s"
+ export ETH_DEVICE="eth0"
+
+ export BOOT_OS_PROMPT=\'root@dragonboard-410c:~#\'
elif [ ${MACHINE} = "dragonboard820c" ]; then
export LAVA_DEVICE_TYPE="dragonboard-820c"
export INSTALL_FASTBOOT=True
+
+ export PM_QA_TESTS="cpufreq cputopology"
+ export WLAN_DEVICE="wlp1s0"
+ export WLAN_TIME_DELAY="15s"
+ export ETH_DEVICE="enP2p1s0"
elif [ ${MACHINE} = "sdm845_mtp" ]; then
export LAVA_DEVICE_TYPE="sdm845-mtp"
export INSTALL_FASTBOOT=
export LAVA_SERVER="${LKFT_STAGING_LAVA_SERVER}"
+
+ export PM_QA_TESTS="cpufreq cpuidle cpuhotplug cputopology"
+ export WLAN_DEVICE="wlan0"
+ export WLAN_TIME_DELAY="0s"
+ export ETH_DEVICE="eth0"
+
+ # XXX: We are using db410c OE userspace
+ export BOOT_OS_PROMPT=\'root@dragonboard-410c:~#\'
fi
+ export SMOKE_TESTS="pwd, uname -a, ip a, vmstat, lsblk"
python configs/openembedded-lkft/submit_for_testing.py \
--device-type ${LAVA_DEVICE_TYPE} \
@@ -36,6 +64,18 @@ case "${MACHINE}" in
--git-commit ${BUILD_NUMBER} \
--template-path configs/lt-qcom-linux-integration/lava-job-definitions \
--template-names template-bootrr.yaml
+
+ python configs/openembedded-lkft/submit_for_testing.py \
+ --device-type ${LAVA_DEVICE_TYPE} \
+ --build-number ${BUILD_NUMBER} \
+ --lava-server ${LAVA_SERVER} \
+ --qa-server ${QA_SERVER} \
+ --qa-server-team qcomlt \
+ --qa-server-project linux-integration \
+ --git-commit ${BUILD_NUMBER} \
+ --template-path configs/lt-qcom-linux-integration/lava-job-definitions \
+ --template-base-pre base_template-functional.yaml \
+ --template-names template-functional.yaml
;;
*)
echo "Skip LAVA_DEVICE_TYPE for ${MACHINE}"