* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#define _GNU_SOURCE
+
#include <babeltrace/context.h>
#include <babeltrace/iterator.h>
#include <babeltrace/ctf/iterator.h>
#include <tap/tap.h>
#include "common.h"
-#define NR_TESTS 29
+#define NR_TESTS 36
void run_seek_begin(char *path, uint64_t expected_begin)
{
struct bt_ctf_event *event;
struct bt_iter_pos newpos;
int ret;
- uint64_t timestamp_begin;
- uint64_t timestamp_seek_begin;
- unsigned int nr_seek_begin_test;
-
- nr_seek_begin_test = 5;
+ int64_t timestamp_begin;
+ int64_t timestamp_seek_begin;
/* Open the trace */
ctx = create_context_with_path(path);
if (!ctx) {
- skip(nr_seek_begin_test, "Cannot create valid context");
+ diag("Cannot create valid context");
return;
}
/* Create iterator with null begin and end */
iter = bt_ctf_iter_create(ctx, NULL, NULL);
if (!iter) {
- skip(nr_seek_begin_test, "Cannot create valid iterator");
+ diag("Cannot create valid iterator");
return;
}
ok(event, "Event valid");
/* Validate that the first timestamp is right */
- timestamp_begin = bt_ctf_get_timestamp(event);
+ ok1(bt_ctf_get_timestamp(event, ×tamp_begin) == 0);
ok1(timestamp_begin == expected_begin);
ok(event, "Event valid");
- timestamp_seek_begin = bt_ctf_get_timestamp(event);
+ ok1(bt_ctf_get_timestamp(event, ×tamp_seek_begin) == 0);
ok1(timestamp_begin == timestamp_seek_begin);
struct bt_ctf_event *event;
struct bt_iter_pos newpos;
int ret;
- uint64_t timestamp_last;
- unsigned int nr_seek_last_tests;
-
- nr_seek_last_tests = 6;
+ int64_t timestamp_last;
/* Open the trace */
ctx = create_context_with_path(path);
if (!ctx) {
- skip(nr_seek_last_tests, "Cannot create valid context");
+ diag("Cannot create valid context");
return;
}
/* Create iterator with null last and end */
iter = bt_ctf_iter_create(ctx, NULL, NULL);
if (!iter) {
- skip(nr_seek_last_tests, "Cannot create valid iterator");
+ diag("Cannot create valid iterator");
return;
}
ok(event, "Event valid at last position");
- timestamp_last = bt_ctf_get_timestamp(event);
+ ok1(bt_ctf_get_timestamp(event, ×tamp_last) == 0);
ok1(timestamp_last == expected_last);
struct bt_ctf_event *event;
struct bt_iter_pos newpos;
int ret;
- uint64_t timestamp_last;
- unsigned int nr_seek_time_at_last_tests;
-
- nr_seek_time_at_last_tests = 6;
+ int64_t timestamp_last;
/* Open the trace */
ctx = create_context_with_path(path);
if (!ctx) {
- skip(nr_seek_time_at_last_tests,
- "Cannot create valid context");
+ diag("Cannot create valid context");
return;
}
/* Create iterator with null last and end */
iter = bt_ctf_iter_create(ctx, NULL, NULL);
if (!iter) {
- skip(nr_seek_time_at_last_tests,
- "Cannot create valid iterator");
+ diag("Cannot create valid iterator");
return;
}
ok(event, "Event valid at last position");
- timestamp_last = bt_ctf_get_timestamp(event);
+ ok1(bt_ctf_get_timestamp(event, ×tamp_last) == 0);
ok1(timestamp_last == expected_last);
struct bt_ctf_event *event;
struct bt_iter_pos newpos;
int ret;
- uint64_t timestamp;
-
- unsigned int nr_seek_cycles_tests;
-
- nr_seek_cycles_tests = 12;
+ int64_t timestamp;
/* Open the trace */
ctx = create_context_with_path(path);
if (!ctx) {
- skip(nr_seek_cycles_tests, "Cannot create valid context");
+ diag("Cannot create valid context");
return;
}
/* Create iterator with null last and end */
iter = bt_ctf_iter_create(ctx, NULL, NULL);
if (!iter) {
- skip(nr_seek_cycles_tests, "Cannot create valid iterator");
+ diag("Cannot create valid iterator");
return;
}
ok(event, "Event valid at last position");
- timestamp = bt_ctf_get_timestamp(event);
+ ok1(bt_ctf_get_timestamp(event, ×tamp) == 0);
ok1(timestamp == expected_last);
ok(event, "Event valid at first position");
- timestamp = bt_ctf_get_timestamp(event);
+ ok1(bt_ctf_get_timestamp(event, ×tamp) == 0);
ok1(timestamp == expected_begin);
ok(event, "Event valid at last position");
- timestamp = bt_ctf_get_timestamp(event);
+ ok1(bt_ctf_get_timestamp(event, ×tamp) == 0);
ok1(timestamp == expected_last);
babeltrace_debug = 0; /* libbabeltrace.la */
opt_clock_offset = 0; /* libbabeltrace-ctf.la */
- if (argc < 4) {
- plan_skip_all("Invalid arguments: need a trace path and the start and last timestamp");
+ plan_tests(NR_TESTS);
+ if (argc < 4) {
+ diag("Invalid arguments: need a trace path and the start and last timestamp");
+ exit(1);
}
/* Parse arguments (Trace, begin timestamp) */
expected_begin = strtoull(argv[2], NULL, 0);
if (ULLONG_MAX == expected_begin && errno == ERANGE) {
- plan_skip_all("Invalid value for begin timestamp");
+ diag("Invalid value for begin timestamp");
+ exit(1);
}
expected_last = strtoull(argv[3], NULL, 0);
if (ULLONG_MAX == expected_last && errno == ERANGE) {
- plan_skip_all("Invalid value for last timestamp");
+ diag("Invalid value for last timestamp");
+ exit(1);
}
- plan_tests(NR_TESTS);
-
run_seek_begin(path, expected_begin);
run_seek_time_at_last(path, expected_last);
run_seek_last(path, expected_last);