diff options
author | Aníbal Limón <anibal.limon@linaro.org> | 2018-07-11 15:37:56 -0500 |
---|---|---|
committer | Aníbal Limón <anibal.limon@linaro.org> | 2018-07-12 10:05:39 -0500 |
commit | 2f872731a4f501b2c68bf8aa5646182f467743b0 (patch) | |
tree | cf36c0a6380e14899d03235c9800ae0d51b86f8a | |
parent | a93fb12a779d041710ce6934135c29cfd98fc77e (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>
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}" |