All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wang Mingyu <wangmy@cn.fujitsu.com>
To: fuego@lists.linuxfoundation.org
Subject: [Fuego] [PATCH] iperf: Add test cases for command iperf.
Date: Tue, 4 Sep 2018 04:32:37 -0700	[thread overview]
Message-ID: <1536060763-33642-2-git-send-email-wangmy@cn.fujitsu.com> (raw)
In-Reply-To: <1536060763-33642-1-git-send-email-wangmy@cn.fujitsu.com>

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
---
 engine/tests/Functional.iperf/fuego_test.sh        | 18 +++++++++++++++
 engine/tests/Functional.iperf/iperf_test.sh        |  4 ++++
 engine/tests/Functional.iperf/parser.py            | 22 ++++++++++++++++++
 engine/tests/Functional.iperf/spec.json            |  7 ++++++
 engine/tests/Functional.iperf/tests/iperf_help.sh  | 13 +++++++++++
 .../tests/Functional.iperf/tests/iperf_server1.sh  | 26 ++++++++++++++++++++++
 .../tests/Functional.iperf/tests/iperf_server2.sh  | 18 +++++++++++++++
 .../tests/Functional.iperf/tests/iperf_server3.sh  | 22 ++++++++++++++++++
 .../tests/Functional.iperf/tests/iperf_server4.sh  | 22 ++++++++++++++++++
 .../tests/Functional.iperf/tests/iperf_server5.sh  | 18 +++++++++++++++
 .../tests/Functional.iperf/tests/iperf_server6.sh  | 23 +++++++++++++++++++
 .../tests/Functional.iperf/tests/iperf_version.sh  | 13 +++++++++++
 12 files changed, 206 insertions(+)
 create mode 100644 engine/tests/Functional.iperf/fuego_test.sh
 create mode 100644 engine/tests/Functional.iperf/iperf_test.sh
 create mode 100644 engine/tests/Functional.iperf/parser.py
 create mode 100644 engine/tests/Functional.iperf/spec.json
 create mode 100644 engine/tests/Functional.iperf/tests/iperf_help.sh
 create mode 100644 engine/tests/Functional.iperf/tests/iperf_server1.sh
 create mode 100644 engine/tests/Functional.iperf/tests/iperf_server2.sh
 create mode 100644 engine/tests/Functional.iperf/tests/iperf_server3.sh
 create mode 100644 engine/tests/Functional.iperf/tests/iperf_server4.sh
 create mode 100644 engine/tests/Functional.iperf/tests/iperf_server5.sh
 create mode 100644 engine/tests/Functional.iperf/tests/iperf_server6.sh
 create mode 100644 engine/tests/Functional.iperf/tests/iperf_version.sh

diff --git a/engine/tests/Functional.iperf/fuego_test.sh b/engine/tests/Functional.iperf/fuego_test.sh
new file mode 100644
index 0000000..0264591
--- /dev/null
+++ b/engine/tests/Functional.iperf/fuego_test.sh
@@ -0,0 +1,18 @@
+function test_pre_check {
+    is_on_target_path iperf3 PROGRAM_IPERF
+    assert_define PROGRAM_IPERF "Missing 'iperf3' program on target board"
+}
+
+function test_deploy {
+    put $TEST_HOME/iperf_test.sh $BOARD_TESTDIR/fuego.$TESTDIR/
+    put -r $TEST_HOME/tests $BOARD_TESTDIR/fuego.$TESTDIR/
+}
+
+function test_run {
+    report "cd $BOARD_TESTDIR/fuego.$TESTDIR;\
+    sh -v iperf_test.sh"
+}
+
+function test_processing {
+    log_compare "$TESTDIR" "0" "TEST-FAIL" "n"
+}
diff --git a/engine/tests/Functional.iperf/iperf_test.sh b/engine/tests/Functional.iperf/iperf_test.sh
new file mode 100644
index 0000000..dd5ce37
--- /dev/null
+++ b/engine/tests/Functional.iperf/iperf_test.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+for i in tests/*.sh; do
+    sh $i
+done
diff --git a/engine/tests/Functional.iperf/parser.py b/engine/tests/Functional.iperf/parser.py
new file mode 100644
index 0000000..d85abd7
--- /dev/null
+++ b/engine/tests/Functional.iperf/parser.py
@@ -0,0 +1,22 @@
+#!/usr/bin/python
+# See common.py for description of command-line arguments
+
+import os, sys, collections
+
+sys.path.insert(0, os.environ['FUEGO_CORE'] + '/engine/scripts/parser')
+import common as plib
+
+measurements = {}
+measurements = collections.OrderedDict()
+
+regex_string = '^ -> (.*): TEST-(.*)$'
+matches = plib.parse_log(regex_string)
+
+if matches:
+    for m in matches:
+        measurements['default.' + m[0]] = 'PASS' if m[1] == 'PASS' else 'FAIL'
+
+# split the output for each testcase
+plib.split_output_per_testcase(regex_string, measurements)
+
+sys.exit(plib.process(measurements))
diff --git a/engine/tests/Functional.iperf/spec.json b/engine/tests/Functional.iperf/spec.json
new file mode 100644
index 0000000..f0b47e9
--- /dev/null
+++ b/engine/tests/Functional.iperf/spec.json
@@ -0,0 +1,7 @@
+{
+    "testName": "Functional.iperf",
+    "specs": {
+        "default": {}
+    }
+}
+
diff --git a/engine/tests/Functional.iperf/tests/iperf_help.sh b/engine/tests/Functional.iperf/tests/iperf_help.sh
new file mode 100644
index 0000000..8c3c629
--- /dev/null
+++ b/engine/tests/Functional.iperf/tests/iperf_help.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+#  Test command iperf3 on target.
+#  Opiton : --help
+
+test="help"
+
+if iperf3 --help | grep "Usage"
+then
+    echo " -> $test: TEST-PASS"
+else
+    echo " -> $test: TEST-FAIL"
+fi;
diff --git a/engine/tests/Functional.iperf/tests/iperf_server1.sh b/engine/tests/Functional.iperf/tests/iperf_server1.sh
new file mode 100644
index 0000000..6431159
--- /dev/null
+++ b/engine/tests/Functional.iperf/tests/iperf_server1.sh
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+#  Test command iperf3 on target.
+#  Opiton : server(TCP)
+
+test="server1"
+
+killall -KILL iperf3
+iperf3 -s -D&
+
+sleep 10
+
+ls .
+netstat -l > iperf-test
+
+sleep 10
+
+if cat iperf-test | grep "5201"
+then
+    echo " -> $test: TEST-PASS"
+else
+    echo " -> $test: TEST-FAIL"
+fi;
+
+killall -KILL iperf3
+rm -f iperf-test
diff --git a/engine/tests/Functional.iperf/tests/iperf_server2.sh b/engine/tests/Functional.iperf/tests/iperf_server2.sh
new file mode 100644
index 0000000..2e87a6f
--- /dev/null
+++ b/engine/tests/Functional.iperf/tests/iperf_server2.sh
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+#  Test command iperf3 on target.
+#  Opiton : server(UDP)
+
+test="server2"
+
+killall -KILL iperf3
+iperf3 -s -D
+
+if netstat -l | grep "5201"
+then
+    echo " -> $test: TEST-PASS"
+else
+    echo " -> $test: TEST-FAIL"
+fi;
+
+killall -KILL iperf3
diff --git a/engine/tests/Functional.iperf/tests/iperf_server3.sh b/engine/tests/Functional.iperf/tests/iperf_server3.sh
new file mode 100644
index 0000000..fd65fd1
--- /dev/null
+++ b/engine/tests/Functional.iperf/tests/iperf_server3.sh
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+#  Test command iperf3 on target.
+#  Opiton : server(TCP port 6000)
+
+test="server3"
+
+killall -KILL iperf3
+
+expect <<-EOF
+spawn iperf3 -s -p 6000&
+expect {
+ -re ".*Server listening on 6000.*" {
+           send_user " -> $test: TEST-PASS\n"
+          }
+ default { send_user " -> $test: TEST-FAIL\n" }  }
+send "\n"
+expect eof
+EOF
+
+killall -KILL iperf3
+
diff --git a/engine/tests/Functional.iperf/tests/iperf_server4.sh b/engine/tests/Functional.iperf/tests/iperf_server4.sh
new file mode 100644
index 0000000..fcc6d55
--- /dev/null
+++ b/engine/tests/Functional.iperf/tests/iperf_server4.sh
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+#  Test command iperf3 on target.
+#  Opiton : -c
+
+test="server4"
+
+killall -KILL iperf3
+iperf3 -s -D&
+
+iperf3 -c 127.0.0.1 > log
+sleep 5
+
+if cat log | grep "connected"
+then
+    echo " -> $test: TEST-PASS"
+else
+    echo " -> $test: TEST-FAIL"
+fi;
+
+killall -KILL iperf3
+rm log
diff --git a/engine/tests/Functional.iperf/tests/iperf_server5.sh b/engine/tests/Functional.iperf/tests/iperf_server5.sh
new file mode 100644
index 0000000..0ed432a
--- /dev/null
+++ b/engine/tests/Functional.iperf/tests/iperf_server5.sh
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+#  Test command iperf3 on target.
+#  Opiton : -c (UDP)
+
+test="server5"
+
+killall -KILL iperf3
+iperf3 -s -D&
+
+if iperf3 -c 127.0.0.1 -u | grep "connected"
+then
+    echo " -> $test: TEST-PASS"
+else
+    echo " -> $test: TEST-FAIL"
+fi;
+
+killall -KILL iperf3
diff --git a/engine/tests/Functional.iperf/tests/iperf_server6.sh b/engine/tests/Functional.iperf/tests/iperf_server6.sh
new file mode 100644
index 0000000..247a22e
--- /dev/null
+++ b/engine/tests/Functional.iperf/tests/iperf_server6.sh
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+#  Test command iperf3 on target.
+#  Opiton : -c(port opt)
+
+test="server6"
+
+killall -KILL iperf3
+iperf3 -s -D -p 6000&
+
+expect <<-EOF
+spawn iperf3 -c 127.0.0.1 -p 6000&
+expect {
+ -re ".*connected.*" {
+           send_user " -> $test: TEST-PASS\n"
+          }
+ default { send_user " -> $test: TEST-FAIL\n" }  }
+send "\n"
+expect eof
+EOF
+
+killall -KILL iperf3
+rm log
diff --git a/engine/tests/Functional.iperf/tests/iperf_version.sh b/engine/tests/Functional.iperf/tests/iperf_version.sh
new file mode 100644
index 0000000..3ab66a4
--- /dev/null
+++ b/engine/tests/Functional.iperf/tests/iperf_version.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+#  Test command iperf3 on target.
+#  Opiton : version
+
+test="version"
+
+if iperf3 --version | grep "iperf 3.*"
+then
+    echo " -> $test: TEST-PASS"
+else
+    echo " -> $test: TEST-FAIL"
+fi
-- 
1.8.3.1




  reply	other threads:[~2018-09-04 11:32 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-04 11:32 [Fuego] [PATCH] busybox: Delete the option "-n" from umount to avoid using root permission Wang Mingyu
2018-09-04 11:32 ` Wang Mingyu [this message]
2018-09-04 11:32 ` [Fuego] [PATCH] libxml: Add test cases for command libxml Wang Mingyu
2018-09-04 11:32 ` [Fuego] [PATCH] libtool: Add test cases for command libtool Wang Mingyu
2018-09-04 11:32 ` [Fuego] [PATCH] fbset: Add test cases for command fbset Wang Mingyu
2018-09-04 11:32 ` [Fuego] [PATCH] initscripts: Add test cases for command initscripts Wang Mingyu
2018-09-04 11:32 ` [Fuego] [PATCH] logrotate: Add test cases for command logrotate Wang Mingyu
2018-09-04 11:32 ` [Fuego] [PATCH] m4: Add test cases for command m4 Wang Mingyu
2018-11-09  4:40 ` [Fuego] [PATCH] busybox: Delete the option "-n" from umount to avoid using root permission Tim.Bird

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1536060763-33642-2-git-send-email-wangmy@cn.fujitsu.com \
    --to=wangmy@cn.fujitsu.com \
    --cc=fuego@lists.linuxfoundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.