Commit | Line | Data |
---|---|---|
0c305c6e JD |
1 | #!/bin/bash |
2 | # | |
abdabab5 | 3 | # Copyright (C) 2017 Julien Desfossez <jdesfossez@efficios.com> |
0c305c6e JD |
4 | # |
5 | # This program is free software; you can redistribute it and/or modify it | |
6 | # under the terms of the GNU General Public License, version 2 only, as | |
7 | # published by the Free Software Foundation. | |
8 | # | |
9 | # This program is distributed in the hope that it will be useful, but WITHOUT | |
10 | # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
11 | # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | |
12 | # more details. | |
13 | # | |
14 | # You should have received a copy of the GNU General Public License along with | |
15 | # this program; if not, write to the Free Software Foundation, Inc., 51 | |
16 | # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |
17 | ||
abdabab5 MJ |
18 | SH_TAP=1 |
19 | ||
20 | if [ "x${BT_TESTS_SRCDIR:-}" != "x" ]; then | |
21 | UTILSSH="$BT_TESTS_SRCDIR/utils/utils.sh" | |
22 | else | |
23 | UTILSSH="$(dirname "$0")/../utils/utils.sh" | |
24 | fi | |
25 | ||
26 | # shellcheck source=../utils/utils.sh | |
27 | source "$UTILSSH" | |
0c305c6e | 28 | |
b7c5d194 | 29 | TRACE_PATH="${BT_CTF_TRACES_PATH}/succeed/wk-heartbeat-u/" |
0c305c6e | 30 | |
e9765ba9 | 31 | NUM_TESTS=40 |
0c305c6e JD |
32 | |
33 | plan_tests $NUM_TESTS | |
34 | ||
35 | tmp_out=$(mktemp) | |
36 | ||
e9765ba9 SM |
37 | # Run Babeltrace with some command line arguments, verify exit status and |
38 | # number of output events (i.e. number of output lines) | |
39 | # | |
40 | # Arguments: | |
41 | # | |
42 | # $1: expected number of events | |
43 | # $2: test description | |
44 | # remaining arguments: command-line arguments to pass to Babeltrace | |
45 | ||
46 | function expect_success() | |
47 | { | |
48 | local expected_num_events="$1" | |
49 | shift | |
50 | local msg="$1" | |
51 | shift | |
52 | ||
abdabab5 | 53 | "${BT_TESTS_BT2_BIN}" "${TRACE_PATH}" "$@" 2>/dev/null > "${tmp_out}" |
e9765ba9 SM |
54 | ok $? "trimmer: ${msg}: exit status" |
55 | num_events=$(wc -l < "${tmp_out}") | |
963ebee4 MJ |
56 | # Use bash parameter expansion to strip spaces added by BSD 'wc' on macOs and Solaris |
57 | is "${num_events// /}" "${expected_num_events}" "trimmer: ${msg}: number of events (${expected_num_events})" | |
e9765ba9 SM |
58 | } |
59 | ||
60 | expect_success 18 "--begin, GMT relative timestamps" \ | |
61 | --clock-gmt --begin 17:48:17.587029529 | |
62 | expect_success 9 "--end, GMT relative timestamps" \ | |
63 | --clock-gmt --end 17:48:17.588680018 | |
64 | expect_success 7 "--begin and --end, GMT relative timestamps" \ | |
65 | --clock-gmt --begin 17:48:17.587029529 --end 17:48:17.588680018 | |
66 | expect_success 0 "--begin, out of range, GMT relative timestamps" \ | |
67 | --clock-gmt --begin 18:48:17.587029529 | |
68 | expect_success 0 "--end, out of range, GMT relative timestamps" \ | |
69 | --clock-gmt --end 16:48:17.588680018 | |
70 | ||
71 | expect_success 18 "--begin, GMT absolute timestamps" \ | |
72 | --clock-gmt --begin "2012-10-29 17:48:17.587029529" | |
73 | expect_success 9 "--end, GMT absolute timestamps" \ | |
74 | --clock-gmt --end "2012-10-29 17:48:17.588680018" | |
75 | expect_success 7 "--begin and --end, GMT absolute timestamps" \ | |
76 | --clock-gmt --begin "2012-10-29 17:48:17.587029529" --end "2012-10-29 17:48:17.588680018" | |
77 | expect_success 0 "--begin, out of range, GMT absolute timestamps" \ | |
78 | --clock-gmt --begin "2012-10-29 18:48:17.587029529" | |
79 | expect_success 0 "--begin, out of range, GMT absolute timestamps" \ | |
80 | --clock-gmt --end "2012-10-29 16:48:17.588680018" | |
bcd785aa MJ |
81 | |
82 | export TZ=EST | |
83 | ||
e9765ba9 SM |
84 | expect_success 18 "--begin, EST relative timestamps" \ |
85 | --begin "12:48:17.587029529" | |
86 | expect_success 9 "--end, EST relative timestamps" \ | |
87 | --end "12:48:17.588680018" | |
88 | expect_success 7 "--begin and --end, EST relative timestamps" \ | |
89 | --begin "12:48:17.587029529" --end "12:48:17.588680018" | |
90 | expect_success 0 "--begin, out of range, EST relative timestamps" \ | |
91 | --begin "13:48:17.587029529" | |
92 | expect_success 0 "--end, out of range, EST relative timestamps" \ | |
93 | --end "11:48:17.588680018" | |
94 | ||
95 | expect_success 18 "--begin, EST absolute timestamps" \ | |
96 | --begin "2012-10-29 12:48:17.587029529" | |
97 | expect_success 9 "--end, EST absolute timestamps" \ | |
98 | --end "12:48:17.588680018" | |
99 | expect_success 7 "--begin and --end, EST absolute timestamps" \ | |
100 | --begin "2012-10-29 12:48:17.587029529" --end "2012-10-29 12:48:17.588680018" | |
101 | expect_success 0 "--begin, out of range, EST absolute timestamps" \ | |
102 | --begin "2012-10-29 13:48:17.587029529" | |
103 | expect_success 0 "--end, out of range, EST absolute timestamps" \ | |
104 | --end "2012-10-29 11:48:17.588680018" | |
0c305c6e | 105 | |
de3fb4cd | 106 | rm "${tmp_out}" |