diff options
author | Botao Sun <botao.sun@linaro.org> | 2013-12-02 10:13:23 +1100 |
---|---|---|
committer | Milosz Wasilewski <milosz.wasilewski@linaro.org> | 2014-01-09 09:50:09 +0000 |
commit | 14ccff47a51dfd6da1309cfb9845bf5ed7d81dab (patch) | |
tree | 30b8ba5cf72dba9327676c38d0540896cbe35860 /android | |
parent | 038987a7f963a77266a6f2a60bfd841c0df5fb4c (diff) |
Add SD MMC Test for Linaro Android
Test code has been validated in LAVA.
Signed-off by: Botao Sun <botao.sun@linaro.org>
Change-Id: I4651678ee8c97483dafd70e01fe2458dd251df3f
Diffstat (limited to 'android')
-rwxr-xr-x | android/scripts/sd-mmc.sh | 114 | ||||
-rw-r--r-- | android/sd-mmc.yaml | 26 |
2 files changed, 140 insertions, 0 deletions
diff --git a/android/scripts/sd-mmc.sh b/android/scripts/sd-mmc.sh new file mode 100755 index 0000000..81cb5b3 --- /dev/null +++ b/android/scripts/sd-mmc.sh @@ -0,0 +1,114 @@ +#!/system/bin/sh +# +# SD MMC test cases for Linaro Android +# +# Copyright (C) 2013, Linaro Limited. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Author: Botao Sun <botao.sun@linaro.org> + +function check_return_fail() { + if [ $? -ne 0 ]; then + fail_test "$1" + return 0 + else + return 1 + fi +} + +function fail_test() { + local reason=$1 + echo "${TEST}: FAIL - ${reason}" +} + +function pass_test() { + echo "${TEST}: PASS" +} + +## Test case definitions +# Check if EXTERNAL_STORAGE is available +test_has_variable_external_storage() { + TEST="has_variable_external_storage" + + # Add 1 minute sleep time to avoid SD card partition is unavailable during the system boot + sleep 60 + + if [ -z "$EXTERNAL_STORAGE" ]; then + fail_test "The value of EXTERNAL_STORAGE is empty" + return 1 + fi + + echo "The value of EXTERNAL_STORAGE is $EXTERNAL_STORAGE" + + pass_test +} + +# Print the output of "df" command +test_print_df_output() { + TEST="print_df_output" + + df_return=`df` + if [ $? -ne 0 ]; then + fail_test "Run df command failed" + return 1 + fi + + if [ -z "$df_return" ]; then + fail_test "The return value of df command is empty" + return 1 + else + echo "$df_return" + fi + + pass_test +} + +# Write to SD card partition +test_write_on_sd_card() { + TEST="write_on_sd_card" + + if [ ! -d "$EXTERNAL_STORAGE" ]; then + fail_test "Unable to find $EXTERNAL_STORAGE" + return 1 + fi + + written_message="abcdefghijklmn" + echo $written_message > $EXTERNAL_STORAGE/sd-mmc-test.txt + + if [ ! -f "$EXTERNAL_STORAGE/sd-mmc-test.txt" ]; then + fail_test "Failed to write to external storage $EXTERNAL_STORAGE" + return 1 + fi + + file_content=`cat $EXTERNAL_STORAGE/sd-mmc-test.txt` + + if [ "$file_content" != "$written_message" ]; then + fail_test "Writing test on SD card failed, original string doesn't match the result" + return 1 + fi + + echo "The content of SD MMC test file is: $file_content" + + pass_test +} + +# run the tests +test_has_variable_external_storage +test_print_df_output +test_write_on_sd_card + +# clean exit so lava-test can trust the results +exit 0
\ No newline at end of file diff --git a/android/sd-mmc.yaml b/android/sd-mmc.yaml new file mode 100644 index 0000000..f675610 --- /dev/null +++ b/android/sd-mmc.yaml @@ -0,0 +1,26 @@ +metadata: + name: sd-mmc + format: "Lava-Test-Shell Test Definition 1.0" + description: "Test SD MMC on Linaro Android" + maintainer: + - botao.sun@linaro.org + os: + - android + devices: + - panda + - panda-es + - vexpress-a9 + - vexpress-tc2 + - arndale + scope: + - functional + +run: + steps: + - "./android/scripts/sd-mmc.sh" + +parse: + pattern: "(?P<test_case_id>[a-zA-Z0-9_-]+):\\s(?P<result>\\w+)" + fixupdict: + FAIL: fail + PASS: pass |