[lttng-dev] [PATCH babeltrace] Fix: test_seek should only output one TAP plan
Mathieu Desnoyers
mathieu.desnoyers at efficios.com
Mon Aug 26 14:37:48 EDT 2013
* Christian Babeux (christian.babeux at efficios.com) wrote:
> On critical failure paths, the test_seek test was outputting multiple TAP plans,
> which according to the specification [1] is invalid. This causes parsing
> issues on very strict TAP parsers.
Merged, but please cut your changelog to 72 columns in the future.
Thanks,
Mathieu
>
> [1] - http://podwiki.hexten.net/TAP/TAP.html?page=TAP
>
> Signed-off-by: Christian Babeux <christian.babeux at efficios.com>
> ---
> tests/lib/test_seek.c | 43 +++++++++++++++++++++++++++++++++----------
> 1 file changed, 33 insertions(+), 10 deletions(-)
>
> diff --git a/tests/lib/test_seek.c b/tests/lib/test_seek.c
> index 170c830..4e1a823 100644
> --- a/tests/lib/test_seek.c
> +++ b/tests/lib/test_seek.c
> @@ -44,17 +44,22 @@ void run_seek_begin(char *path, uint64_t expected_begin)
> int ret;
> uint64_t timestamp_begin;
> uint64_t timestamp_seek_begin;
> + unsigned int nr_seek_begin_test;
> +
> + nr_seek_begin_test = 5;
>
> /* Open the trace */
> ctx = create_context_with_path(path);
> if (!ctx) {
> - plan_skip_all("Cannot create valid context");
> + skip(nr_seek_begin_test, "Cannot create valid context");
> + return;
> }
>
> /* Create iterator with null begin and end */
> iter = bt_ctf_iter_create(ctx, NULL, NULL);
> if (!iter) {
> - plan_skip_all("Cannot create valid iterator");
> + skip(nr_seek_begin_test, "Cannot create valid iterator");
> + return;
> }
>
> event = bt_ctf_iter_read_event(iter);
> @@ -92,17 +97,22 @@ void run_seek_last(char *path, uint64_t expected_last)
> struct bt_iter_pos newpos;
> int ret;
> uint64_t timestamp_last;
> + unsigned int nr_seek_last_tests;
> +
> + nr_seek_last_tests = 6;
>
> /* Open the trace */
> ctx = create_context_with_path(path);
> if (!ctx) {
> - plan_skip_all("Cannot create valid context");
> + skip(nr_seek_last_tests, "Cannot create valid context");
> + return;
> }
>
> /* Create iterator with null last and end */
> iter = bt_ctf_iter_create(ctx, NULL, NULL);
> if (!iter) {
> - plan_skip_all("Cannot create valid iterator");
> + skip(nr_seek_last_tests, "Cannot create valid iterator");
> + return;
> }
>
> event = bt_ctf_iter_read_event(iter);
> @@ -143,17 +153,24 @@ void run_seek_time_at_last(char *path, uint64_t expected_last)
> 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;
>
> /* Open the trace */
> ctx = create_context_with_path(path);
> if (!ctx) {
> - plan_skip_all("Cannot create valid context");
> + skip(nr_seek_time_at_last_tests,
> + "Cannot create valid context");
> + return;
> }
>
> /* Create iterator with null last and end */
> iter = bt_ctf_iter_create(ctx, NULL, NULL);
> if (!iter) {
> - plan_skip_all("Cannot create valid iterator");
> + skip(nr_seek_time_at_last_tests,
> + "Cannot create valid iterator");
> + return;
> }
>
> event = bt_ctf_iter_read_event(iter);
> @@ -198,16 +215,22 @@ void run_seek_cycles(char *path,
> int ret;
> uint64_t timestamp;
>
> + unsigned int nr_seek_cycles_tests;
> +
> + nr_seek_cycles_tests = 12;
> +
> /* Open the trace */
> ctx = create_context_with_path(path);
> if (!ctx) {
> - plan_skip_all("Cannot create valid context");
> + skip(nr_seek_cycles_tests, "Cannot create valid context");
> + return;
> }
>
> /* Create iterator with null last and end */
> iter = bt_ctf_iter_create(ctx, NULL, NULL);
> if (!iter) {
> - plan_skip_all("Cannot create valid iterator");
> + skip(nr_seek_cycles_tests, "Cannot create valid iterator");
> + return;
> }
>
> event = bt_ctf_iter_read_event(iter);
> @@ -281,8 +304,6 @@ int main(int argc, char **argv)
> babeltrace_debug = 0; /* libbabeltrace.la */
> opt_clock_offset = 0; /* libbabeltrace-ctf.la */
>
> - plan_tests(NR_TESTS);
> -
> if (argc < 4) {
> plan_skip_all("Invalid arguments: need a trace path and the start and last timestamp");
>
> @@ -301,6 +322,8 @@ int main(int argc, char **argv)
> plan_skip_all("Invalid value for last timestamp");
> }
>
> + plan_tests(NR_TESTS);
> +
> run_seek_begin(path, expected_begin);
> run_seek_time_at_last(path, expected_last);
> run_seek_last(path, expected_last);
> --
> 1.8.3.4
>
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
More information about the lttng-dev
mailing list