From: Philippe Proulx Date: Thu, 24 Sep 2020 23:35:55 +0000 (-0400) Subject: tests/tracing: add data stream type event record feature tests X-Git-Tag: v3.0.0~12 X-Git-Url: https://git.efficios.com/?a=commitdiff_plain;h=a5bc7c093e2dbbf7a10a4e7f07e3024ba0ca9d5a;p=barectf.git tests/tracing: add data stream type event record feature tests Signed-off-by: Philippe Proulx --- diff --git a/tests/tracing/configs/counter-clock/dst-er-features/ts-uint32.yaml b/tests/tracing/configs/counter-clock/dst-er-features/ts-uint32.yaml new file mode 100644 index 0000000..4f6a5b6 --- /dev/null +++ b/tests/tracing/configs/counter-clock/dst-er-features/ts-uint32.yaml @@ -0,0 +1,35 @@ +# The MIT License (MIT) +# +# Copyright (c) 2020 Philippe Proulx +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +%YAML 1.2 +--- ! +trace: + type: + $include: + - base-no-features.yaml + - stdint.yaml + data-stream-types: + default: + $features: + event-record: + timestamp-field-type: uint32 diff --git a/tests/tracing/configs/counter-clock/dst-er-features/ts.yaml b/tests/tracing/configs/counter-clock/dst-er-features/ts.yaml new file mode 100644 index 0000000..2306d93 --- /dev/null +++ b/tests/tracing/configs/counter-clock/dst-er-features/ts.yaml @@ -0,0 +1,34 @@ +# The MIT License (MIT) +# +# Copyright (c) 2020 Philippe Proulx +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +%YAML 1.2 +--- ! +trace: + type: + $include: + - base-no-features.yaml + data-stream-types: + default: + $features: + event-record: + timestamp-field-type: true diff --git a/tests/tracing/configs/counter-clock/dst-er-features/type-id-uint8.yaml b/tests/tracing/configs/counter-clock/dst-er-features/type-id-uint8.yaml new file mode 100644 index 0000000..36b6fa5 --- /dev/null +++ b/tests/tracing/configs/counter-clock/dst-er-features/type-id-uint8.yaml @@ -0,0 +1,35 @@ +# The MIT License (MIT) +# +# Copyright (c) 2020 Philippe Proulx +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +%YAML 1.2 +--- ! +trace: + type: + $include: + - base-no-features.yaml + - stdint.yaml + data-stream-types: + default: + $features: + event-record: + type-id-field-type: uint8 diff --git a/tests/tracing/expect/counter-clock/dst-er-features/ts-uint32.data.expect b/tests/tracing/expect/counter-clock/dst-er-features/ts-uint32.data.expect new file mode 100644 index 0000000..13cafa3 Binary files /dev/null and b/tests/tracing/expect/counter-clock/dst-er-features/ts-uint32.data.expect differ diff --git a/tests/tracing/expect/counter-clock/dst-er-features/ts-uint32.metadata.expect b/tests/tracing/expect/counter-clock/dst-er-features/ts-uint32.metadata.expect new file mode 100644 index 0000000..63b2dfd --- /dev/null +++ b/tests/tracing/expect/counter-clock/dst-er-features/ts-uint32.metadata.expect @@ -0,0 +1,109 @@ +/* CTF 1.8 */ + +/* + * The MIT License (MIT) + * + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + * + * + * For more details, see . + */ + +trace { + major = 1; + minor = 8; + byte_order = le; + packet.header := struct { + integer { + signed = false; + size = 64; + align = 8; + byte_order = native; + base = 10; + } stream_id; + } align(8); +}; + +env { + domain = "bare"; + tracer_name = "barectf"; +}; + +clock { + name = default; + freq = 1000000000; + precision = 0; + offset_s = 0; + offset = 0; + absolute = false; +}; + +/* Data stream type `default` */ +stream { + id = 0; + packet.context := struct { + integer { + signed = false; + size = 64; + align = 8; + byte_order = native; + base = 10; + } packet_size; + integer { + signed = false; + size = 64; + align = 8; + byte_order = native; + base = 10; + } content_size; + } align(8); + event.header := struct { + integer { + signed = false; + size = 64; + align = 8; + byte_order = native; + base = 10; + } id; + integer { + signed = false; + size = 32; + align = 32; + byte_order = native; + base = 10; + map = clock.default.value; + } timestamp; + } align(8); +}; + +event { + stream_id = 0; + id = 0; + name = "dummy"; + fields := struct { + string { + encoding = UTF8; + } u; + } align(1); +}; diff --git a/tests/tracing/expect/counter-clock/dst-er-features/ts.data.expect b/tests/tracing/expect/counter-clock/dst-er-features/ts.data.expect new file mode 100644 index 0000000..b86434a Binary files /dev/null and b/tests/tracing/expect/counter-clock/dst-er-features/ts.data.expect differ diff --git a/tests/tracing/expect/counter-clock/dst-er-features/ts.metadata.expect b/tests/tracing/expect/counter-clock/dst-er-features/ts.metadata.expect new file mode 100644 index 0000000..bcb4b8e --- /dev/null +++ b/tests/tracing/expect/counter-clock/dst-er-features/ts.metadata.expect @@ -0,0 +1,109 @@ +/* CTF 1.8 */ + +/* + * The MIT License (MIT) + * + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + * + * + * For more details, see . + */ + +trace { + major = 1; + minor = 8; + byte_order = le; + packet.header := struct { + integer { + signed = false; + size = 64; + align = 8; + byte_order = native; + base = 10; + } stream_id; + } align(8); +}; + +env { + domain = "bare"; + tracer_name = "barectf"; +}; + +clock { + name = default; + freq = 1000000000; + precision = 0; + offset_s = 0; + offset = 0; + absolute = false; +}; + +/* Data stream type `default` */ +stream { + id = 0; + packet.context := struct { + integer { + signed = false; + size = 64; + align = 8; + byte_order = native; + base = 10; + } packet_size; + integer { + signed = false; + size = 64; + align = 8; + byte_order = native; + base = 10; + } content_size; + } align(8); + event.header := struct { + integer { + signed = false; + size = 64; + align = 8; + byte_order = native; + base = 10; + } id; + integer { + signed = false; + size = 64; + align = 8; + byte_order = native; + base = 10; + map = clock.default.value; + } timestamp; + } align(8); +}; + +event { + stream_id = 0; + id = 0; + name = "dummy"; + fields := struct { + string { + encoding = UTF8; + } u; + } align(1); +}; diff --git a/tests/tracing/expect/counter-clock/dst-er-features/type-id-uint8.data.expect b/tests/tracing/expect/counter-clock/dst-er-features/type-id-uint8.data.expect new file mode 100644 index 0000000..453d885 Binary files /dev/null and b/tests/tracing/expect/counter-clock/dst-er-features/type-id-uint8.data.expect differ diff --git a/tests/tracing/expect/counter-clock/dst-er-features/type-id-uint8.metadata.expect b/tests/tracing/expect/counter-clock/dst-er-features/type-id-uint8.metadata.expect new file mode 100644 index 0000000..cda1783 --- /dev/null +++ b/tests/tracing/expect/counter-clock/dst-er-features/type-id-uint8.metadata.expect @@ -0,0 +1,101 @@ +/* CTF 1.8 */ + +/* + * The MIT License (MIT) + * + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + * + * + * For more details, see . + */ + +trace { + major = 1; + minor = 8; + byte_order = le; + packet.header := struct { + integer { + signed = false; + size = 64; + align = 8; + byte_order = native; + base = 10; + } stream_id; + } align(8); +}; + +env { + domain = "bare"; + tracer_name = "barectf"; +}; + +clock { + name = default; + freq = 1000000000; + precision = 0; + offset_s = 0; + offset = 0; + absolute = false; +}; + +/* Data stream type `default` */ +stream { + id = 0; + packet.context := struct { + integer { + signed = false; + size = 64; + align = 8; + byte_order = native; + base = 10; + } packet_size; + integer { + signed = false; + size = 64; + align = 8; + byte_order = native; + base = 10; + } content_size; + } align(8); + event.header := struct { + integer { + signed = false; + size = 8; + align = 8; + byte_order = native; + base = 10; + } id; + } align(8); +}; + +event { + stream_id = 0; + id = 0; + name = "dummy"; + fields := struct { + string { + encoding = UTF8; + } u; + } align(1); +}; diff --git a/tests/tracing/src/counter-clock/dst-er-features/ts-uint32.c b/tests/tracing/src/counter-clock/dst-er-features/ts-uint32.c new file mode 100644 index 0000000..6104c1d --- /dev/null +++ b/tests/tracing/src/counter-clock/dst-er-features/ts-uint32.c @@ -0,0 +1,46 @@ +/* + * The MIT License (MIT) + * + * Copyright (c) 2020 Philippe Proulx + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#include +#include + +#include "test-platform.h" +#include "barectf.h" + +int main(void) +{ + struct test_platform_ctx * const platform_ctx = test_platform_init(512); + struct barectf_default_ctx *ctx; + + assert(platform_ctx); + ctx = test_platform_barectf_ctx(platform_ctx); + assert(ctx); + barectf_trace_dummy(ctx, "hello"); + barectf_trace_dummy(ctx, "world"); + barectf_trace_dummy(ctx, "!"); + test_platform_fini(platform_ctx); + return 0; +} diff --git a/tests/tracing/src/counter-clock/dst-er-features/ts.c b/tests/tracing/src/counter-clock/dst-er-features/ts.c new file mode 100644 index 0000000..6104c1d --- /dev/null +++ b/tests/tracing/src/counter-clock/dst-er-features/ts.c @@ -0,0 +1,46 @@ +/* + * The MIT License (MIT) + * + * Copyright (c) 2020 Philippe Proulx + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#include +#include + +#include "test-platform.h" +#include "barectf.h" + +int main(void) +{ + struct test_platform_ctx * const platform_ctx = test_platform_init(512); + struct barectf_default_ctx *ctx; + + assert(platform_ctx); + ctx = test_platform_barectf_ctx(platform_ctx); + assert(ctx); + barectf_trace_dummy(ctx, "hello"); + barectf_trace_dummy(ctx, "world"); + barectf_trace_dummy(ctx, "!"); + test_platform_fini(platform_ctx); + return 0; +} diff --git a/tests/tracing/src/counter-clock/dst-er-features/type-id-uint8.c b/tests/tracing/src/counter-clock/dst-er-features/type-id-uint8.c new file mode 100644 index 0000000..d3360c5 --- /dev/null +++ b/tests/tracing/src/counter-clock/dst-er-features/type-id-uint8.c @@ -0,0 +1,44 @@ +/* + * The MIT License (MIT) + * + * Copyright (c) 2020 Philippe Proulx + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#include +#include + +#include "test-platform.h" +#include "barectf.h" + +int main(void) +{ + struct test_platform_ctx * const platform_ctx = test_platform_init(512); + struct barectf_default_ctx *ctx; + + assert(platform_ctx); + ctx = test_platform_barectf_ctx(platform_ctx); + assert(ctx); + barectf_trace_dummy(ctx, "hello"); + test_platform_fini(platform_ctx); + return 0; +}