commit 90a83c25400073d2d3d0eca0e9d10aa55da58d1a
Author: Ondrej Lichtner <olichtne(a)redhat.com>
Date: Wed Sep 4 13:36:07 2013 +0200
test_modules: update result reporting
This commit updates the test modules to correctly use the set_pass and
set_fail functions and supply relevant res_data. Any messages that used
to be reported using the old interface are now a part of the res_data
object.
Signed-off-by: Ondrej Lichtner <olichtne(a)redhat.com>
Signed-off-by: Jiri Pirko <jiri(a)resnulli.us>
test_modules/TestDummyFailing.py | 3 ++-
test_modules/TestIcmp6Ping.py | 14 +++++++++++---
test_modules/TestIcmpPing.py | 14 +++++++++++---
test_modules/TestIperf.py | 5 +++--
test_modules/TestMulticast.py | 3 ++-
test_modules/TestNetCat.py | 6 ++++--
test_modules/TestPacketAssert.py | 3 ++-
test_modules/TestPktgenTx.py | 3 ++-
8 files changed, 37 insertions(+), 14 deletions(-)
---
diff --git a/test_modules/TestDummyFailing.py b/test_modules/TestDummyFailing.py
index c48c90d..4ea342d 100644
--- a/test_modules/TestDummyFailing.py
+++ b/test_modules/TestDummyFailing.py
@@ -15,4 +15,5 @@ from lnst.Common.TestsCommon import TestGeneric
class TestDummyFailing(TestGeneric):
def run(self):
- return self.set_fail("what else did you expect?")
+ res_data = {"msg": "what else did you expect?"}
+ return self.set_fail(res_data)
diff --git a/test_modules/TestIcmp6Ping.py b/test_modules/TestIcmp6Ping.py
index 7bc4e40..3d66130 100644
--- a/test_modules/TestIcmp6Ping.py
+++ b/test_modules/TestIcmp6Ping.py
@@ -43,7 +43,8 @@ class TestIcmp6Ping(TestGeneric):
match = re.search(stat_pttr1, data_stdout)
if not match:
- return self.set_fail("expected pattern not found")
+ res_data = {"msg": "expected pattern not found"}
+ return self.set_fail(res_data)
trans_pkts, recv_pkts = match.groups()
rate = int(round((float(recv_pkts) / float(trans_pkts)) * 100))
@@ -51,13 +52,20 @@ class TestIcmp6Ping(TestGeneric):
"rate \"%d%%\", limit_rate \"%d%%\"" \
% (trans_pkts, recv_pkts, rate, limit_rate ))
+ res_data = {"rate": rate,
+ "limit_rate": limit_rate}
+
match = re.search(stat_pttr2, data_stdout)
if match:
tmin, tavg, tmax, tmdev = [float(x) for x in match.groups()]
logging .debug("rtt min \"%.3f\", avg \"%.3f\", max
\"%.3f\", "
"mdev \"%.3f\"" % (tmin, tavg, tmax, tmdev))
+ res_data["rtt_min"] = tmin
+ res_data["rtt_max"] = tmax
+
if rate < limit_rate :
- return self.set_fail("rate is lower that limit")
+ res_data["msg"] = "rate is lower that limit"
+ return self.set_fail(res_data)
- return self.set_pass()
+ return self.set_pass(res_data)
diff --git a/test_modules/TestIcmpPing.py b/test_modules/TestIcmpPing.py
index e2c239a..6920056 100644
--- a/test_modules/TestIcmpPing.py
+++ b/test_modules/TestIcmpPing.py
@@ -40,7 +40,8 @@ class TestIcmpPing(TestGeneric):
match = re.search(stat_pttr1, data_stdout)
if not match:
- return self.set_fail("expected pattern not found")
+ res_data = {"msg": "expected pattern not found"}
+ return self.set_fail(res_data)
trans_pkts, recv_pkts = match.groups()
rate = int(round((float(recv_pkts) / float(trans_pkts)) * 100))
@@ -48,13 +49,20 @@ class TestIcmpPing(TestGeneric):
"rate \"%d%%\", limit_rate \"%d%%\""
% (trans_pkts, recv_pkts, rate, limit_rate))
+ res_data = {"rate": rate,
+ "limit_rate": limit_rate}
+
match = re.search(stat_pttr2, data_stdout)
if match:
tmin, tavg, tmax, tmdev = [float(x) for x in match.groups()]
logging.debug("rtt min \"%.3f\", avg \"%.3f\", max
\"%.3f\", "
"mdev \"%.3f\"" % (tmin, tavg, tmax, tmdev))
+ res_data["rtt_min"] = tmin
+ res_data["rtt_max"] = tmax
+
if rate < limit_rate:
- return self.set_fail("rate is lower that limit",
res_data={"rate": rate})
+ res_data["msg"] = "rate is lower that limit"
+ return self.set_fail(res_data)
- return self.set_pass(res_data={"rate": rate})
+ return self.set_pass(res_data)
diff --git a/test_modules/TestIperf.py b/test_modules/TestIperf.py
index 462c48c..5aacea1 100644
--- a/test_modules/TestIperf.py
+++ b/test_modules/TestIperf.py
@@ -147,7 +147,8 @@ class TestIperf(TestGeneric):
elif role == "client":
logging.debug("running as client ...")
(rv, message) = self.run_client(cmd)
+ res_data = {"msg": mesage}
if rv == False:
- return self.set_fail(message)
+ return self.set_fail(res_data)
- return self.set_pass(message)
+ return self.set_pass(res_data)
diff --git a/test_modules/TestMulticast.py b/test_modules/TestMulticast.py
index 25422f6..cb5a60e 100644
--- a/test_modules/TestMulticast.py
+++ b/test_modules/TestMulticast.py
@@ -126,6 +126,7 @@ class TestMulticast(TestGeneric):
res[name] = value
logging.info("Test result: {0} = {1}".format(name, value))
if not self._evaluate_result(name, value):
- return self.set_fail("Conditions not met!", res)
+ res["msg"] = "Conditions not met!"
+ return self.set_fail(res)
return self.set_pass(res)
diff --git a/test_modules/TestNetCat.py b/test_modules/TestNetCat.py
index cf5199e..89c7e4b 100644
--- a/test_modules/TestNetCat.py
+++ b/test_modules/TestNetCat.py
@@ -52,9 +52,11 @@ class TestNetCat(TestGeneric):
try:
td.read_until_output_matches("10 packets captured", timeout=5)
except ShellProcess.ProcessTerminatedError:
- return self.set_fail("tcpdump process died unexpectedly!")
+ res_data = {"msg": "tcpdump process died unexpectedly!"}
+ return self.set_fail(res_data)
except ShellProcess.ProcessTimeoutError:
- return self.set_fail("No stream detected!")
+ res_data = {"msg": "No stream detected!"}
+ return self.set_fail(res_data)
td.kill()
diff --git a/test_modules/TestPacketAssert.py b/test_modules/TestPacketAssert.py
index 0466c20..d8a73e3 100644
--- a/test_modules/TestPacketAssert.py
+++ b/test_modules/TestPacketAssert.py
@@ -165,4 +165,5 @@ class TestPacketAssert(TestGeneric):
if self._evaluate_results():
return self.set_pass(res)
- return self.set_fail("PacketAssert failed!", res)
+ res["msg"] = "PacketAssert failed!"
+ return self.set_fail(res)
diff --git a/test_modules/TestPktgenTx.py b/test_modules/TestPktgenTx.py
index c1ca86a..684640f 100644
--- a/test_modules/TestPktgenTx.py
+++ b/test_modules/TestPktgenTx.py
@@ -87,6 +87,7 @@ class TestPktgenTx(TestGeneric):
pg.set(pktgen_option)
pgctl.set("start")
except ExecCmdFail:
- return self.set_fail("pktgen failed")
+ res_data = {"msg": "pktgen failed"}
+ return self.set_fail(res_data)
return self.set_pass()