summaryrefslogtreecommitdiff
path: root/android
diff options
context:
space:
mode:
authorBotao Sun <botao.sun@linaro.org>2013-12-02 10:13:23 +1100
committerMilosz Wasilewski <milosz.wasilewski@linaro.org>2014-01-09 09:50:09 +0000
commit14ccff47a51dfd6da1309cfb9845bf5ed7d81dab (patch)
tree30b8ba5cf72dba9327676c38d0540896cbe35860 /android
parent038987a7f963a77266a6f2a60bfd841c0df5fb4c (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-xandroid/scripts/sd-mmc.sh114
-rw-r--r--android/sd-mmc.yaml26
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