[lttng-dev] [RFC/PATCH 3/3] babeltrace: add simple tests for converter command line options

Nathan Lynch nathan_lynch at mentor.com
Tue Oct 25 15:34:27 UTC 2016


Add simple tests for the following converter command line options:

--no-delta
--clock-cycles
--clock-seconds
--clock-date

Signed-off-by: Nathan Lynch <nathan_lynch at mentor.com>
---
 tests/Makefile.am            |  4 ++++
 tests/bin/Makefile.am        |  3 ++-
 tests/bin/test_clock_cycles  | 41 ++++++++++++++++++++++++++++++++++++++
 tests/bin/test_clock_date    | 47 ++++++++++++++++++++++++++++++++++++++++++++
 tests/bin/test_clock_seconds | 43 ++++++++++++++++++++++++++++++++++++++++
 tests/bin/test_no_delta      | 40 +++++++++++++++++++++++++++++++++++++
 6 files changed, 177 insertions(+), 1 deletion(-)
 create mode 100755 tests/bin/test_clock_cycles
 create mode 100755 tests/bin/test_clock_date
 create mode 100755 tests/bin/test_clock_seconds
 create mode 100755 tests/bin/test_no_delta

diff --git a/tests/Makefile.am b/tests/Makefile.am
index 28cb2eca7770..58d8ac861c4b 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -8,6 +8,10 @@ TESTS = bin/test_trace_read \
 	bin/test_trace_read \
 	bin/test_packet_seq_num \
 	bin/test_formats \
+	bin/test_no_delta \
+	bin/test_clock_cycles \
+	bin/test_clock_date \
+	bin/test_clock_seconds \
 	bin/intersection/test_intersection \
 	lib/test_bitfield \
 	lib/test_seek_empty_packet \
diff --git a/tests/bin/Makefile.am b/tests/bin/Makefile.am
index 57b90ea72d80..00551c53f062 100644
--- a/tests/bin/Makefile.am
+++ b/tests/bin/Makefile.am
@@ -1,2 +1,3 @@
 SUBDIRS = intersection
-check_SCRIPTS = test_trace_read test_packet_seq_num test_formats
+check_SCRIPTS = test_trace_read test_packet_seq_num test_formats test_no_delta \
+		test_clock_cycles test_clock_seconds test_clock_date
diff --git a/tests/bin/test_clock_cycles b/tests/bin/test_clock_cycles
new file mode 100755
index 000000000000..2d0ca6a0f953
--- /dev/null
+++ b/tests/bin/test_clock_cycles
@@ -0,0 +1,41 @@
+#!/bin/bash
+#
+# Author: Nathan Lynch
+# Copyright (C) 2016 Mentor Graphics Corporation
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License, version 2 only, as
+# published by the Free Software Foundation.
+#
+# 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.
+
+. "$TAPLIB"
+
+# [cccccccccccccccccccc]
+timestamp_fmt="\["
+timestamp_fmt+="[[:digit:]]{20}"
+timestamp_fmt+="\]"
+
+# (+N.nnnnnnnnn)
+delta_fmt="\(\+[[:digit:]]+\.[[:digit:]]{9}\)"
+
+pattern="^$timestamp_fmt $delta_fmt wk-heartbeat:"
+
+plan_tests 1
+
+test_clock_cycles() {
+    trace="$1"
+
+    count=$($BABELTRACE_BIN --clock-cycles $trace | $GREP -c -E "$pattern")
+    test $count -eq 19
+    ok $? "--clock-cycles prints timestamps in cycles"
+}
+
+test_clock_cycles "$CTF_TRACES/succeed/wk-heartbeat-u"
diff --git a/tests/bin/test_clock_date b/tests/bin/test_clock_date
new file mode 100755
index 000000000000..0aaab23d5869
--- /dev/null
+++ b/tests/bin/test_clock_date
@@ -0,0 +1,47 @@
+#!/bin/bash
+#
+# Author: Nathan Lynch
+# Copyright (C) 2016 Mentor Graphics Corporation
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License, version 2 only, as
+# published by the Free Software Foundation.
+#
+# 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.
+
+. "$TAPLIB"
+
+# [YYYY-MM-DD hh:mm:ss.nnnnnnnnn]
+timestamp_fmt="\["
+timestamp_fmt+="[[:digit:]]{4}"   # YYYY
+timestamp_fmt+="-[[:digit:]]{2}"  # MM
+timestamp_fmt+="-[[:digit:]]{2}"  # DD
+timestamp_fmt+=" [[:digit:]]{2}"  # hh
+timestamp_fmt+=":[[:digit:]]{2}"  # mm
+timestamp_fmt+=":[[:digit:]]{2}"  # ss
+timestamp_fmt+="\.[[:digit:]]{9}" # nnnnnnnnn
+timestamp_fmt+="\]"
+
+(+N.nnnnnnnnn)
+delta_fmt="\(\+[[:digit:]]+\.[[:digit:]]{9}\)"
+
+pattern="^$timestamp_fmt $delta_fmt wk-heartbeat:"
+
+plan_tests 1
+
+test_clock_date() {
+    trace="$1"
+
+    count=$($BABELTRACE_BIN --clock-date $trace | $GREP -c -E "$pattern")
+    test $count -eq 19
+    ok $? "--clock-date displays the date in timestamps"
+}
+
+test_clock_date "$CTF_TRACES/succeed/wk-heartbeat-u"
diff --git a/tests/bin/test_clock_seconds b/tests/bin/test_clock_seconds
new file mode 100755
index 000000000000..2b5e13c5206d
--- /dev/null
+++ b/tests/bin/test_clock_seconds
@@ -0,0 +1,43 @@
+#!/bin/bash
+#
+# Author: Nathan Lynch
+# Copyright (C) 2016 Mentor Graphics Corporation
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License, version 2 only, as
+# published by the Free Software Foundation.
+#
+# 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.
+
+. "$TAPLIB"
+
+# [s]+.[nnnnnnnnn]
+timestamp_fmt="\["
+timestamp_fmt+="[[:digit:]]+" # [s]+
+timestamp_fmt+="\."
+timestamp_fmt+="[[:digit:]]{9}" # [nnnnnnnnn]
+timestamp_fmt+="\]"
+
+(+N.nnnnnnnnn)
+delta_fmt="\(\+[[:digit:]]+\.[[:digit:]]{9}\)"
+
+pattern="^$timestamp_fmt $delta_fmt wk-heartbeat:"
+
+plan_tests 1
+
+test_clock_seconds() {
+    trace="$1"
+
+    count=$($BABELTRACE_BIN --clock-seconds $trace | $GREP -c -E "$pattern")
+    test $count -eq 19
+    ok $? "--clock-seconds prints timestamps as [sec.ns]"
+}
+
+test_clock_seconds "$CTF_TRACES/succeed/wk-heartbeat-u"
diff --git a/tests/bin/test_no_delta b/tests/bin/test_no_delta
new file mode 100755
index 000000000000..37c118d30b8c
--- /dev/null
+++ b/tests/bin/test_no_delta
@@ -0,0 +1,40 @@
+#!/bin/bash
+#
+# Copyright (C) - 2016 Nathan Lynch <nathan_lynch at mentor.com>
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License, version 2 only, as
+# published by the Free Software Foundation.
+#
+# 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.
+
+. "$TAPLIB"
+
+# [hh:mm:ss.nnnnnnnnn]
+timestamp_fmt="\["
+timestamp_fmt+="[[:digit:]]{2}"   # hh
+timestamp_fmt+=":[[:digit:]]{2}"  # mm
+timestamp_fmt+=":[[:digit:]]{2}"  # ss
+timestamp_fmt+="\.[[:digit:]]{9}" # nnnnnnnnn
+timestamp_fmt+="\]"
+
+pattern="^$timestamp_fmt wk-heartbeat:"
+
+plan_tests 1
+
+test_no_delta() {
+    trace="$1"
+
+    count=$($BABELTRACE_BIN --no-delta $trace | $GREP -c -E "$pattern")
+    test $count -eq 20
+    ok $? "--no-delta suppresses delta between events"
+}
+
+test_no_delta "$CTF_TRACES/succeed/wk-heartbeat-u"
-- 
2.7.4



More information about the lttng-dev mailing list