diff options
-rw-r--r-- | android/cts-host.yaml | 16 | ||||
l---------[-rw-r--r--] | android/cts-target.yaml | 39 | ||||
-rw-r--r-- | android/lava-android-test-host.yaml | 18 | ||||
l---------[-rw-r--r--] | android/lava-android-test-target.yaml | 33 | ||||
-rw-r--r-- | android/multinode-target.yaml | 47 | ||||
-rwxr-xr-x | android/scripts/adb_connect.sh | 8 |
6 files changed, 82 insertions, 79 deletions
diff --git a/android/cts-host.yaml b/android/cts-host.yaml index 85252a5..c0a4b03 100644 --- a/android/cts-host.yaml +++ b/android/cts-host.yaml @@ -24,6 +24,10 @@ install: - libc6:i386 - libncurses5:i386 - libstdc++6:i386 + - android-tools-adb + - android-tools-fastboot + steps: + - apt-get install -y $JDK $JRE params: JDK: "default-jdk" @@ -34,15 +38,19 @@ params: run: steps: - - apt-get install -y $JDK $JRE - lava-wait $TEST_NAME-send-ip - IPADDR=`awk -F '=' '{print $2}' /tmp/lava_multi_node_cache.txt` - - export REGEX="([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])" - - echo $IPADDR | grep -P $REGEX - - if [ $? -eq 0 ]; then adb connect $IPADDR; IPADDR=$IPADDR:5555; fi + - if [ $IPADDR != "_MISSING_" ] + - then + - ". ./android/scripts/adb_connect.sh $IPADDR" + - echo $CTS_URL + - echo $IPADDR + - echo $TEST_PARAMS + - adb devices - adb -s $IPADDR wait-for-device - "./android/scripts/cts.py $CTS_URL $IPADDR $TEST_PARAMS" - echo "processes running" - ps + - fi - lava-sync $TEST_NAME-finished diff --git a/android/cts-target.yaml b/android/cts-target.yaml index a742a7a..db27b47 100644..120000 --- a/android/cts-target.yaml +++ b/android/cts-target.yaml @@ -1,38 +1 @@ -metadata: - name: cts-target - format: "Lava-Test-Shell Test Definition 1.0" - description: "Run CTS on Linaro android. Target side. - The value put in params section in this file is default, user can overwrite them by the values in JSON file." - maintainer: - - milosz.wasilewski@linaro.org - os: - - android - devices: - - panda - - panda-es - - vexpress-a9 - - vexpress-tc2 - - juno - scope: - - functional - -params: - TEST_NAME: "android-cts-5.0-armv8" - - -run: - steps: - - lava-test-case step1-cat-build-info --shell cat /system/build.prop - - SERIALNO=$(getprop ro.serialno) - - IPADDR=$(getprop dhcp.eth0.ipaddress) - - if [ -z $IPADDR ]; then netcfg eth0 up; netcfg eth0 dhcp; IPADDR=$(getprop dhcp.eth0.ipaddress); fi - # if serial number exists it's preferred over IP based adb connection - # This means we're on 'usb only' device with WiFi connectivity - - if [ ! -z $SERIALNO ]; then IPADDR=$SERIALNO; fi - - if [ -z $SERIALNO ]; then lava-test-case step2-get-adb --shell getprop service.adb.tcp.port; fi - - if [ -z $SERIALNO ]; then lava-test-case step3-set-adb --shell setprop service.adb.tcp.port 5555; fi - - lava-test-case step3-set-adb --shell setprop service.adb.root 1 - - lava-test-case step4-stop-adbd --shell stop adbd - - lava-test-case step5-start-adbd --shell start adbd - - lava-test-case step6-send-ip --shell lava-send $TEST_NAME-send-ip ipaddr=$IPADDR - - lava-test-case step7-multinode-sync --shell lava-sync $TEST_NAME-finished +multinode-target.yaml
\ No newline at end of file diff --git a/android/lava-android-test-host.yaml b/android/lava-android-test-host.yaml index 1993a2a..b9f45b8 100644 --- a/android/lava-android-test-host.yaml +++ b/android/lava-android-test-host.yaml @@ -26,11 +26,17 @@ install: - pip install --upgrade setuptools - cd lava-android-test - python setup.py install + - apt-get install -y $JAVA_PACKAGE deps: - python-pip - python-dev - libyaml-dev - unzip + - libc6:i386 + - libncurses5:i386 + - libstdc++6:i386 + - android-tools-adb + - android-tools-fastboot params: TEST_NAME: "busybox" @@ -39,18 +45,20 @@ params: run: steps: - - apt-add-repository -y http://ppa.launchpad.net/nilarimogard/webupd8/ubuntu - - apt-get update -y - - apt-get install -y android-tools-adb android-tools-fastboot $JAVA_PACKAGE libc6:i386 libncurses5:i386 libstdc++6:i386 - lava-wait $TEST_NAME-${TEST_PARAMS// /_}-send-ip - IPADDR=`awk -F '=' '{print $2}' /tmp/lava_multi_node_cache.txt` - - adb connect $IPADDR - - adb wait-for-device + - if [ $IPADDR != "_MISSING_" ] + - then + - ". ./android/scripts/adb_connect.sh $IPADDR" + - adb devices + - adb -s $IPADDR wait-for-device - lava-android-test install $TEST_NAME - if [[ $TEST_PARAMS != "" ]]; then lava-android-test run -o $TEST_NAME.results -O "$TEST_PARAMS" $TEST_NAME; fi - if [[ $TEST_PARAMS == "" ]]; then lava-android-test run -o $TEST_NAME.results $TEST_NAME; fi - lava-test-run-attach $TEST_NAME.results text/plain - python android/scripts/parse-lat.py -f $TEST_NAME.results -t $TEST_NAME + - ps + - fi - lava-sync $TEST_NAME-${TEST_PARAMS// /_}-finished parse: diff --git a/android/lava-android-test-target.yaml b/android/lava-android-test-target.yaml index a705e0c..db27b47 100644..120000 --- a/android/lava-android-test-target.yaml +++ b/android/lava-android-test-target.yaml @@ -1,32 +1 @@ -metadata: - name: lava-android-test-target - format: "Lava-Test-Shell Test Definition 1.0" - description: "Wrapper around lava-android-test. This is the target part. - It sends the IP address of the target to host and than - waits for the host to execute tests." - maintainer: - - milosz.wasilewski@linaro.org - os: - - android - scope: - - functional - devices: - - panda - - panda-es - - vexpress-a9 - - vexpress-tc2 - - wg - -params: - TEST_NAME: "busybox" - TEST_PARAMS: "" - -run: - steps: - - lava-test-case step1-cat-build-info --shell cat /system/build.prop - - lava-test-case step2-get-adb --shell getprop service.adb.tcp.port - - lava-test-case step3-set-adb --shell setprop service.adb.tcp.port 5555 - - lava-test-case step4-stop-adbd --shell stop adbd - - lava-test-case step5-start-adbd --shell start adbd - - lava-test-case step6-send-ip --shell lava-send $TEST_NAME-${TEST_PARAMS// /_}-send-ip ipaddr=$(getprop dhcp.eth0.ipaddress) - - lava-test-case step7-multinode-sync --shell lava-sync $TEST_NAME-${TEST_PARAMS// /_}-finished +multinode-target.yaml
\ No newline at end of file diff --git a/android/multinode-target.yaml b/android/multinode-target.yaml new file mode 100644 index 0000000..6b5d3a0 --- /dev/null +++ b/android/multinode-target.yaml @@ -0,0 +1,47 @@ +metadata: + name: multinode-target + format: "Lava-Test-Shell Test Definition 1.0" + description: "Run android test that requires host side. Target side. + The value put in params section in this file is default, user can overwrite them by the values in JSON file. + Test can be used with different host side tests" + maintainer: + - milosz.wasilewski@linaro.org + os: + - android + devices: + - panda + - panda-es + - vexpress-a9 + - vexpress-tc2 + - juno + - mn-nexus9 + scope: + - functional + - performance + +params: + TEST_NAME: "android-cts-5.0-armv8" + # ADB_LINK parameter is used to pass proper device + # identification to the host side. Default is ETH + # which means adb-over-ethernet is used + ADB_LINK: "ETH" + +run: + steps: + - lava-test-case step1-cat-build-info --shell cat /system/build.prop + - SERIALNO=$(getprop ro.serialno) + - IPADDR=$(getprop dhcp.eth0.ipaddress) + - if [ $ADB_LINK != "ETH" ] && [ ! -z $SERIALNO ]; then IPADDR=$SERIALNO; fi + - if [ $ADB_LINK = "ETH" ] && [ ! -z $IPADDR ] + - then + - lava-test-case step2-get-adb --shell getprop service.adb.tcp.port + - lava-test-case step3-set-adb --shell setprop service.adb.tcp.port 5555 + - lava-test-case step4-set-adb-root --shell setprop service.adb.root 1 + - lava-test-case step5-stop-adbd --shell stop adbd + - lava-test-case step6-start-adbd --shell start adbd + - else + # if there is no serial number or IP address available, _MISSING_ is passed to the host + - IPADDR="_MISSING_" + - fi + - lava-test-case step7-send-ip --shell lava-send $TEST_NAME-send-ip ipaddr=$IPADDR + - lava-test-case step8-multinode-sync --shell lava-sync $TEST_NAME-finished diff --git a/android/scripts/adb_connect.sh b/android/scripts/adb_connect.sh new file mode 100755 index 0000000..1416c15 --- /dev/null +++ b/android/scripts/adb_connect.sh @@ -0,0 +1,8 @@ +#!/bin/sh +echo "Checking IP address for $1" +expr "$1" : '[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*$' +if [ $? -eq 0 ] +then + adb connect $1 + IPADDR=$1:5555 +fi |