[Fuego] [PATCH] busybox: add support for command for sed/sh/sleep/sort/strings/swap/sync

Wang Mingyu wangmy at cn.fujitsu.com
Thu Aug 9 02:57:44 UTC 2018


Signed-off-by: Wang Mingyu <wangmy at cn.fujitsu.com>
---
 engine/tests/Functional.busybox/fuego_test.sh      |  2 +-
 .../tests/Functional.busybox/tests/busybox_sed.sh  | 13 ++++++++
 .../tests/Functional.busybox/tests/busybox_sh.sh   | 21 ++++++++++++
 .../Functional.busybox/tests/busybox_sleep.sh      | 22 +++++++++++++
 .../tests/Functional.busybox/tests/busybox_sort.sh | 24 ++++++++++++++
 .../Functional.busybox/tests/busybox_strings.sh    | 24 ++++++++++++++
 .../tests/Functional.busybox/tests/busybox_swap.sh | 38 ++++++++++++++++++++++
 .../tests/Functional.busybox/tests/busybox_sync.sh | 13 ++++++++
 8 files changed, 156 insertions(+), 1 deletion(-)
 create mode 100644 engine/tests/Functional.busybox/tests/busybox_sed.sh
 create mode 100644 engine/tests/Functional.busybox/tests/busybox_sh.sh
 create mode 100644 engine/tests/Functional.busybox/tests/busybox_sleep.sh
 create mode 100644 engine/tests/Functional.busybox/tests/busybox_sort.sh
 create mode 100644 engine/tests/Functional.busybox/tests/busybox_strings.sh
 create mode 100644 engine/tests/Functional.busybox/tests/busybox_swap.sh
 create mode 100644 engine/tests/Functional.busybox/tests/busybox_sync.sh

diff --git a/engine/tests/Functional.busybox/fuego_test.sh b/engine/tests/Functional.busybox/fuego_test.sh
index 8bf04e5..759f2c5 100755
--- a/engine/tests/Functional.busybox/fuego_test.sh
+++ b/engine/tests/Functional.busybox/fuego_test.sh
@@ -53,7 +53,7 @@ function test_pre_check {
     touch ${LOGDIR}/skiplist.txt
     skip_if_command_unavailable expect "busybox_ash.sh busybox_passwd.sh"
     skip_if_command_unavailable tr "busybox_chgrp1.sh busybox_chgrp2.sh busybox_chmod1.sh busybox_chmod2.sh busybox_chown1.sh busybox_chown2.sh"
-    skip_if_not_root "busybox_chgrp1.sh busybox_chgrp2.sh busybox_chown1.sh busybox_chown2.sh busybox_chroot.sh busybox_passwd.sh"
+    skip_if_not_root "busybox_chgrp1.sh busybox_chgrp2.sh busybox_chown1.sh busybox_chown2.sh busybox_chroot.sh busybox_passwd.sh busybox_swap.sh"
     skip_if_subcommand_unsupported "$BUSYBOX_SKIPLIST"
 }
 
diff --git a/engine/tests/Functional.busybox/tests/busybox_sed.sh b/engine/tests/Functional.busybox/tests/busybox_sed.sh
new file mode 100644
index 0000000..c5af18f
--- /dev/null
+++ b/engine/tests/Functional.busybox/tests/busybox_sed.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+#  The testscript checks the following options of the command sed
+#  1) Option -e
+
+test="sed"
+
+if [ "$(echo "test case" | busybox sed -e 's/case/result/g')" = "test result" ]
+then
+    echo " -> $test: TEST-PASS"
+else
+    echo " -> $test: TEST-FAIL"
+fi;
diff --git a/engine/tests/Functional.busybox/tests/busybox_sh.sh b/engine/tests/Functional.busybox/tests/busybox_sh.sh
new file mode 100644
index 0000000..1c16976
--- /dev/null
+++ b/engine/tests/Functional.busybox/tests/busybox_sh.sh
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+#  The testscript checks the following options of the command sh
+#  1) Option none
+
+test="sh"
+
+mkdir test_dir
+touch test_dir/test1
+
+cat >> test_dir/test1 <<EOF
+#!/bin/bash
+echo "this is test bash!"
+EOF
+
+if busybox sh test_dir/test1 | grep "this is test bash!"
+then
+    echo " -> $test: TEST-PASS"
+else
+    echo " -> $test: TEST-FAIL"
+fi;
diff --git a/engine/tests/Functional.busybox/tests/busybox_sleep.sh b/engine/tests/Functional.busybox/tests/busybox_sleep.sh
new file mode 100644
index 0000000..68c2673
--- /dev/null
+++ b/engine/tests/Functional.busybox/tests/busybox_sleep.sh
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+#  The testscript checks the following options of the command sleep
+#  1) Option none
+
+test="sleep"
+
+if sleep 0 | ps aux | grep "[s]leep 0"
+then
+    echo " -> $test: sleep 0 failed."
+    echo " -> $test: TEST-FAIL"
+    exit
+else
+    echo " -> $test: sleep 0 succeeded."
+fi;
+
+if sleep 1 | ps aux | grep "[s]leep 1"
+then
+    echo " -> $test: TEST-PASS"
+else
+    echo " -> $test: TEST-FAIL"
+fi;
diff --git a/engine/tests/Functional.busybox/tests/busybox_sort.sh b/engine/tests/Functional.busybox/tests/busybox_sort.sh
new file mode 100644
index 0000000..18ca0e7
--- /dev/null
+++ b/engine/tests/Functional.busybox/tests/busybox_sort.sh
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+#  The testscript checks the following options of the command sort
+#  1) Option none
+
+test="sort"
+
+echo "e" > test1
+echo "f" >> test1
+echo "b" >> test1
+echo "d" >> test1
+echo "c" >> test1
+echo "a" >> test1
+
+busybox sort test1 > log
+if [ "$(head -n 1 log)" = "a" ] && [ "$(head -n 2 log | tail -n 1)" = "b" ] && [ "$(head -n 3 log | tail -n 1)" = "c" ] \
+&& [ "$(head -n 4 log | tail -n 1)" = "d" ] && [ "$(head -n 5 log | tail -n 1)" = "e" ] && [ "$(tail -n 1 log)" = "f" ]
+then
+    echo " -> $test: TEST-PASS"
+else
+    echo " -> $test: TEST-FAIL"
+fi;
+rm -rf test1;
+rm log;
diff --git a/engine/tests/Functional.busybox/tests/busybox_strings.sh b/engine/tests/Functional.busybox/tests/busybox_strings.sh
new file mode 100644
index 0000000..5ffe63d
--- /dev/null
+++ b/engine/tests/Functional.busybox/tests/busybox_strings.sh
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+#  The testscript checks the following options of the command strings
+#  1) Option none
+
+test="strings"
+
+cat >> test1.c <<EOF
+#include <stdio.h>
+void main()
+{
+    printf("Hello World \n");
+}
+EOF
+
+gcc test1.c -o test1
+
+if busybox strings test1 | grep "Hello World"
+then
+    echo " -> $test: TEST-PASS"
+else
+    echo " -> $test: TEST-FAIL"
+fi;
+rm test1 test1.c;
diff --git a/engine/tests/Functional.busybox/tests/busybox_swap.sh b/engine/tests/Functional.busybox/tests/busybox_swap.sh
new file mode 100644
index 0000000..1b23d51
--- /dev/null
+++ b/engine/tests/Functional.busybox/tests/busybox_swap.sh
@@ -0,0 +1,38 @@
+#!/bin/sh
+
+#  The testscript checks the following options of the command swapon&swapoff
+#  1) Option -a
+
+test="swapon/swapoff"
+
+function check_if_succeeded {
+    if $1 
+    then
+        echo " -> $test: $1 succeeded."
+    else
+        echo " -> $test: $1 failed."
+        echo " -> $test: TEST-FAIL"
+    fi
+}
+
+if [ $(cat /proc/swaps | wc -l) = 1 ]
+then
+    check_if_succeeded "busybox swapon -a"
+    check_if_succeeded "busybox swapoff -a"
+    if [ $(cat /proc/swaps | wc -l) = 1 ]
+    then
+        echo " -> $test: TEST-PASS"
+    else
+        echo " -> $test: TEST-FAIL"
+    fi
+else
+    swap_name=$(cat /proc/swaps | tail -n 1| tr -s " " | cut -d ' ' -f1)
+    check_if_succeeded "busybox swapoff $swap_name"
+    check_if_succeeded "busybox swapon $swap_name"
+    if cat /proc/swaps | grep $swap_name
+    then
+        echo " -> $test: TEST-PASS"
+    else
+        echo " -> $test: TEST-FAIL"
+    fi
+fi;
diff --git a/engine/tests/Functional.busybox/tests/busybox_sync.sh b/engine/tests/Functional.busybox/tests/busybox_sync.sh
new file mode 100644
index 0000000..39c269b
--- /dev/null
+++ b/engine/tests/Functional.busybox/tests/busybox_sync.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+#  The testscript checks the following options of the command sync
+#  1) Option none
+
+test="sync"
+
+if busybox sync
+then
+    echo " -> $test: TEST-PASS"
+else
+    echo " -> $test: TEST-FAIL"
+fi;
-- 
1.8.3.1





More information about the Fuego mailing list