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:
    # 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 step1a-cat-build-info --shell cat /system/build.prop
        - lava-test-case step1b-$SIGNAL_PREFIX-getprop --shell getprop
        - 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-capture-kmsg-levels --shell 'cat /proc/sys/kernel/printk > /data/local/tmp/kmsg_levels'
        - lava-test-case step6-disable-kmsg --shell echo '1 1 1 1' > /proc/sys/kernel/printk
        - lava-test-case step7-stop-adbd --shell stop adbd
        - lava-test-case step8-start-adbd --shell start adbd
        - fi
        - if [ -z $SERIALNO ] && [ -z $IPADDR ]
        - then
        # if there is no serial number or IP address available, _MISSING_ is passed to the host
        - IPADDR="_MISSING_"
        - fi
        - lava-test-case step9-send-ip --shell lava-send adb-push-send-ip ipaddr=$IPADDR
        - if [ -f /data/local/tmp/kmsg_levels ]
        - then
        - lava-test-case step10-enable-kmsg --shell 'cat /data/local/tmp/kmsg_levels > /proc/sys/kernel/printk'
        - fi
        - lava-test-case step11-multinode-sync --shell lava-sync adb-push-finished
