From: Philippe Proulx Date: Thu, 10 Sep 2020 21:32:50 +0000 (-0400) Subject: Add dynamic array tracing tests X-Git-Url: http://git.efficios.com/?p=deliverable%2Fbarectf.git;a=commitdiff_plain;h=refs%2Fheads%2FC-0001 Add dynamic array tracing tests The new tests are modified copies of static array tracing tests as a dynamic array field can contain the same fields as a static array field. Signed-off-by: Philippe Proulx --- diff --git a/tests/tracing/configs/succeed/dynamic-array/nested-5-uint8.yaml b/tests/tracing/configs/succeed/dynamic-array/nested-5-uint8.yaml new file mode 100644 index 0000000..a9ef6e3 --- /dev/null +++ b/tests/tracing/configs/succeed/dynamic-array/nested-5-uint8.yaml @@ -0,0 +1,53 @@ +# 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. + +--- ! +target-byte-order: le +trace: + type: + $include: + - stdint.yaml + stream-types: + default: + $is-default: yes + event-types: + ev: + payload-field-type: + class: struct + members: + - array: + field-type: + class: dynamic-array + element-field-type: + class: static-array + length: 2 + element-field-type: + class: static-array + length: 2 + element-field-type: + class: static-array + length: 2 + element-field-type: + class: static-array + length: 2 + element-field-type: uint8 +... diff --git a/tests/tracing/configs/succeed/dynamic-array/of-double.yaml b/tests/tracing/configs/succeed/dynamic-array/of-double.yaml new file mode 100644 index 0000000..2f22929 --- /dev/null +++ b/tests/tracing/configs/succeed/dynamic-array/of-double.yaml @@ -0,0 +1,41 @@ +# 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. + +--- ! +target-byte-order: le +trace: + type: + $include: + - stdreal.yaml + stream-types: + default: + $is-default: yes + event-types: + ev: + payload-field-type: + class: struct + members: + - array: + field-type: + class: dynamic-array + element-field-type: double +... diff --git a/tests/tracing/configs/succeed/dynamic-array/of-static-array-of-double.yaml b/tests/tracing/configs/succeed/dynamic-array/of-static-array-of-double.yaml new file mode 100644 index 0000000..b482d30 --- /dev/null +++ b/tests/tracing/configs/succeed/dynamic-array/of-static-array-of-double.yaml @@ -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. + +--- ! +target-byte-order: le +trace: + type: + $include: + - stdreal.yaml + stream-types: + default: + $is-default: yes + event-types: + ev: + payload-field-type: + class: struct + members: + - array: + field-type: + class: dynamic-array + element-field-type: + class: static-array + length: 3 + element-field-type: double +... diff --git a/tests/tracing/configs/succeed/dynamic-array/of-static-array-of-str.yaml b/tests/tracing/configs/succeed/dynamic-array/of-static-array-of-str.yaml new file mode 100644 index 0000000..1b3b408 --- /dev/null +++ b/tests/tracing/configs/succeed/dynamic-array/of-static-array-of-str.yaml @@ -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. + +--- ! +target-byte-order: le +trace: + type: + $include: + - stdmisc.yaml + stream-types: + default: + $is-default: yes + event-types: + ev: + payload-field-type: + class: struct + members: + - array: + field-type: + class: dynamic-array + element-field-type: + class: static-array + length: 3 + element-field-type: str +... diff --git a/tests/tracing/configs/succeed/dynamic-array/of-static-array-of-uint8.yaml b/tests/tracing/configs/succeed/dynamic-array/of-static-array-of-uint8.yaml new file mode 100644 index 0000000..f8e5d74 --- /dev/null +++ b/tests/tracing/configs/succeed/dynamic-array/of-static-array-of-uint8.yaml @@ -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. + +--- ! +target-byte-order: le +trace: + type: + $include: + - stdint.yaml + stream-types: + default: + $is-default: yes + event-types: + ev: + payload-field-type: + class: struct + members: + - array: + field-type: + class: dynamic-array + element-field-type: + class: static-array + length: 3 + element-field-type: uint8 +... diff --git a/tests/tracing/configs/succeed/dynamic-array/of-str.yaml b/tests/tracing/configs/succeed/dynamic-array/of-str.yaml new file mode 100644 index 0000000..b784457 --- /dev/null +++ b/tests/tracing/configs/succeed/dynamic-array/of-str.yaml @@ -0,0 +1,41 @@ +# 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. + +--- ! +target-byte-order: le +trace: + type: + $include: + - stdmisc.yaml + stream-types: + default: + $is-default: yes + event-types: + ev: + payload-field-type: + class: struct + members: + - array: + field-type: + class: dynamic-array + element-field-type: str +... diff --git a/tests/tracing/configs/succeed/dynamic-array/of-uint3-middle.yaml b/tests/tracing/configs/succeed/dynamic-array/of-uint3-middle.yaml new file mode 100644 index 0000000..f920d82 --- /dev/null +++ b/tests/tracing/configs/succeed/dynamic-array/of-uint3-middle.yaml @@ -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. + +--- ! +target-byte-order: le +trace: + type: + $include: + - stdint.yaml + - stdmisc.yaml + stream-types: + default: + $is-default: yes + event-types: + ev: + payload-field-type: + class: struct + members: + - before: uint32 + - array: + field-type: + class: dynamic-array + element-field-type: + class: uint + size: 3 + - after: str +... diff --git a/tests/tracing/configs/succeed/dynamic-array/of-uint3.yaml b/tests/tracing/configs/succeed/dynamic-array/of-uint3.yaml new file mode 100644 index 0000000..fc3c399 --- /dev/null +++ b/tests/tracing/configs/succeed/dynamic-array/of-uint3.yaml @@ -0,0 +1,43 @@ +# 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. + +--- ! +target-byte-order: le +trace: + type: + $include: + - stdint.yaml + stream-types: + default: + $is-default: yes + event-types: + ev: + payload-field-type: + class: struct + members: + - array: + field-type: + class: dynamic-array + element-field-type: + class: uint + size: 3 +... diff --git a/tests/tracing/configs/succeed/dynamic-array/of-uint8.yaml b/tests/tracing/configs/succeed/dynamic-array/of-uint8.yaml new file mode 100644 index 0000000..4f6d76a --- /dev/null +++ b/tests/tracing/configs/succeed/dynamic-array/of-uint8.yaml @@ -0,0 +1,41 @@ +# 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. + +--- ! +target-byte-order: le +trace: + type: + $include: + - stdint.yaml + stream-types: + default: + $is-default: yes + event-types: + ev: + payload-field-type: + class: struct + members: + - array: + field-type: + class: dynamic-array + element-field-type: uint8 +... diff --git a/tests/tracing/configs/succeed/dynamic-array/zero-len.yaml b/tests/tracing/configs/succeed/dynamic-array/zero-len.yaml new file mode 100644 index 0000000..c7874d8 --- /dev/null +++ b/tests/tracing/configs/succeed/dynamic-array/zero-len.yaml @@ -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. + +--- ! +target-byte-order: le +trace: + type: + $include: + - stdint.yaml + stream-types: + default: + $is-default: yes + event-types: + ev: + payload-field-type: + class: struct + members: + - before: uint8 + - array: + field-type: + class: dynamic-array + element-field-type: + class: uint + size: 8 + alignment: 64 + - after: uint8 +... diff --git a/tests/tracing/expect/succeed/dynamic-array/nested-5-uint8.data.expect b/tests/tracing/expect/succeed/dynamic-array/nested-5-uint8.data.expect new file mode 100644 index 0000000..24c17df Binary files /dev/null and b/tests/tracing/expect/succeed/dynamic-array/nested-5-uint8.data.expect differ diff --git a/tests/tracing/expect/succeed/dynamic-array/nested-5-uint8.metadata.expect b/tests/tracing/expect/succeed/dynamic-array/nested-5-uint8.metadata.expect new file mode 100644 index 0000000..7ac05b2 --- /dev/null +++ b/tests/tracing/expect/succeed/dynamic-array/nested-5-uint8.metadata.expect @@ -0,0 +1,110 @@ +/* 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 = 32; + align = 8; + byte_order = native; + base = 10; + } magic; + integer { + signed = false; + size = 64; + align = 8; + byte_order = native; + base = 10; + } stream_id; + } align(8); +}; + +env { + domain = "bare"; + tracer_name = "barectf"; +}; + +/* 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; + } align(8); +}; + +event { + stream_id = 0; + id = 0; + name = "ev"; + fields := struct { + integer { + signed = false; + size = 32; + align = 8; + byte_order = native; + base = 10; + } __array_len; + integer { + signed = false; + size = 8; + align = 8; + byte_order = native; + base = 10; + } array[__array_len][2][2][2][2]; + } align(1); +}; diff --git a/tests/tracing/expect/succeed/dynamic-array/of-double.data.expect b/tests/tracing/expect/succeed/dynamic-array/of-double.data.expect new file mode 100644 index 0000000..f3a676a Binary files /dev/null and b/tests/tracing/expect/succeed/dynamic-array/of-double.data.expect differ diff --git a/tests/tracing/expect/succeed/dynamic-array/of-double.metadata.expect b/tests/tracing/expect/succeed/dynamic-array/of-double.metadata.expect new file mode 100644 index 0000000..bcaecdc --- /dev/null +++ b/tests/tracing/expect/succeed/dynamic-array/of-double.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 = 32; + align = 8; + byte_order = native; + base = 10; + } magic; + integer { + signed = false; + size = 64; + align = 8; + byte_order = native; + base = 10; + } stream_id; + } align(8); +}; + +env { + domain = "bare"; + tracer_name = "barectf"; +}; + +/* 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; + } align(8); +}; + +event { + stream_id = 0; + id = 0; + name = "ev"; + fields := struct { + integer { + signed = false; + size = 32; + align = 8; + byte_order = native; + base = 10; + } __array_len; + floating_point { + mant_dig = 53; + exp_dig = 11; + align = 64; + byte_order = native; + } array[__array_len]; + } align(1); +}; diff --git a/tests/tracing/expect/succeed/dynamic-array/of-static-array-of-double.data.expect b/tests/tracing/expect/succeed/dynamic-array/of-static-array-of-double.data.expect new file mode 100644 index 0000000..eb1afbb Binary files /dev/null and b/tests/tracing/expect/succeed/dynamic-array/of-static-array-of-double.data.expect differ diff --git a/tests/tracing/expect/succeed/dynamic-array/of-static-array-of-double.metadata.expect b/tests/tracing/expect/succeed/dynamic-array/of-static-array-of-double.metadata.expect new file mode 100644 index 0000000..b3a4760 --- /dev/null +++ b/tests/tracing/expect/succeed/dynamic-array/of-static-array-of-double.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 = 32; + align = 8; + byte_order = native; + base = 10; + } magic; + integer { + signed = false; + size = 64; + align = 8; + byte_order = native; + base = 10; + } stream_id; + } align(8); +}; + +env { + domain = "bare"; + tracer_name = "barectf"; +}; + +/* 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; + } align(8); +}; + +event { + stream_id = 0; + id = 0; + name = "ev"; + fields := struct { + integer { + signed = false; + size = 32; + align = 8; + byte_order = native; + base = 10; + } __array_len; + floating_point { + mant_dig = 53; + exp_dig = 11; + align = 64; + byte_order = native; + } array[__array_len][3]; + } align(1); +}; diff --git a/tests/tracing/expect/succeed/dynamic-array/of-static-array-of-str.data.expect b/tests/tracing/expect/succeed/dynamic-array/of-static-array-of-str.data.expect new file mode 100644 index 0000000..18fcf61 Binary files /dev/null and b/tests/tracing/expect/succeed/dynamic-array/of-static-array-of-str.data.expect differ diff --git a/tests/tracing/expect/succeed/dynamic-array/of-static-array-of-str.metadata.expect b/tests/tracing/expect/succeed/dynamic-array/of-static-array-of-str.metadata.expect new file mode 100644 index 0000000..6af1bd1 --- /dev/null +++ b/tests/tracing/expect/succeed/dynamic-array/of-static-array-of-str.metadata.expect @@ -0,0 +1,106 @@ +/* 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 = 32; + align = 8; + byte_order = native; + base = 10; + } magic; + integer { + signed = false; + size = 64; + align = 8; + byte_order = native; + base = 10; + } stream_id; + } align(8); +}; + +env { + domain = "bare"; + tracer_name = "barectf"; +}; + +/* 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; + } align(8); +}; + +event { + stream_id = 0; + id = 0; + name = "ev"; + fields := struct { + integer { + signed = false; + size = 32; + align = 8; + byte_order = native; + base = 10; + } __array_len; + string { + encoding = UTF8; + } array[__array_len][3]; + } align(1); +}; diff --git a/tests/tracing/expect/succeed/dynamic-array/of-static-array-of-uint8.data.expect b/tests/tracing/expect/succeed/dynamic-array/of-static-array-of-uint8.data.expect new file mode 100644 index 0000000..666db48 Binary files /dev/null and b/tests/tracing/expect/succeed/dynamic-array/of-static-array-of-uint8.data.expect differ diff --git a/tests/tracing/expect/succeed/dynamic-array/of-static-array-of-uint8.metadata.expect b/tests/tracing/expect/succeed/dynamic-array/of-static-array-of-uint8.metadata.expect new file mode 100644 index 0000000..b1b0685 --- /dev/null +++ b/tests/tracing/expect/succeed/dynamic-array/of-static-array-of-uint8.metadata.expect @@ -0,0 +1,110 @@ +/* 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 = 32; + align = 8; + byte_order = native; + base = 10; + } magic; + integer { + signed = false; + size = 64; + align = 8; + byte_order = native; + base = 10; + } stream_id; + } align(8); +}; + +env { + domain = "bare"; + tracer_name = "barectf"; +}; + +/* 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; + } align(8); +}; + +event { + stream_id = 0; + id = 0; + name = "ev"; + fields := struct { + integer { + signed = false; + size = 32; + align = 8; + byte_order = native; + base = 10; + } __array_len; + integer { + signed = false; + size = 8; + align = 8; + byte_order = native; + base = 10; + } array[__array_len][3]; + } align(1); +}; diff --git a/tests/tracing/expect/succeed/dynamic-array/of-str.data.expect b/tests/tracing/expect/succeed/dynamic-array/of-str.data.expect new file mode 100644 index 0000000..04d3dfe Binary files /dev/null and b/tests/tracing/expect/succeed/dynamic-array/of-str.data.expect differ diff --git a/tests/tracing/expect/succeed/dynamic-array/of-str.metadata.expect b/tests/tracing/expect/succeed/dynamic-array/of-str.metadata.expect new file mode 100644 index 0000000..345d7ce --- /dev/null +++ b/tests/tracing/expect/succeed/dynamic-array/of-str.metadata.expect @@ -0,0 +1,106 @@ +/* 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 = 32; + align = 8; + byte_order = native; + base = 10; + } magic; + integer { + signed = false; + size = 64; + align = 8; + byte_order = native; + base = 10; + } stream_id; + } align(8); +}; + +env { + domain = "bare"; + tracer_name = "barectf"; +}; + +/* 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; + } align(8); +}; + +event { + stream_id = 0; + id = 0; + name = "ev"; + fields := struct { + integer { + signed = false; + size = 32; + align = 8; + byte_order = native; + base = 10; + } __array_len; + string { + encoding = UTF8; + } array[__array_len]; + } align(1); +}; diff --git a/tests/tracing/expect/succeed/dynamic-array/of-uint3-middle.data.expect b/tests/tracing/expect/succeed/dynamic-array/of-uint3-middle.data.expect new file mode 100644 index 0000000..4748166 Binary files /dev/null and b/tests/tracing/expect/succeed/dynamic-array/of-uint3-middle.data.expect differ diff --git a/tests/tracing/expect/succeed/dynamic-array/of-uint3-middle.metadata.expect b/tests/tracing/expect/succeed/dynamic-array/of-uint3-middle.metadata.expect new file mode 100644 index 0000000..8b1f178 --- /dev/null +++ b/tests/tracing/expect/succeed/dynamic-array/of-uint3-middle.metadata.expect @@ -0,0 +1,120 @@ +/* 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 = 32; + align = 8; + byte_order = native; + base = 10; + } magic; + integer { + signed = false; + size = 64; + align = 8; + byte_order = native; + base = 10; + } stream_id; + } align(8); +}; + +env { + domain = "bare"; + tracer_name = "barectf"; +}; + +/* 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; + } align(8); +}; + +event { + stream_id = 0; + id = 0; + name = "ev"; + fields := struct { + integer { + signed = false; + size = 32; + align = 32; + byte_order = native; + base = 10; + } before; + integer { + signed = false; + size = 32; + align = 8; + byte_order = native; + base = 10; + } __array_len; + integer { + signed = false; + size = 3; + align = 1; + byte_order = native; + base = 10; + } array[__array_len]; + string { + encoding = UTF8; + } after; + } align(1); +}; diff --git a/tests/tracing/expect/succeed/dynamic-array/of-uint3.data.expect b/tests/tracing/expect/succeed/dynamic-array/of-uint3.data.expect new file mode 100644 index 0000000..3a1a314 Binary files /dev/null and b/tests/tracing/expect/succeed/dynamic-array/of-uint3.data.expect differ diff --git a/tests/tracing/expect/succeed/dynamic-array/of-uint3.metadata.expect b/tests/tracing/expect/succeed/dynamic-array/of-uint3.metadata.expect new file mode 100644 index 0000000..c804e6d --- /dev/null +++ b/tests/tracing/expect/succeed/dynamic-array/of-uint3.metadata.expect @@ -0,0 +1,110 @@ +/* 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 = 32; + align = 8; + byte_order = native; + base = 10; + } magic; + integer { + signed = false; + size = 64; + align = 8; + byte_order = native; + base = 10; + } stream_id; + } align(8); +}; + +env { + domain = "bare"; + tracer_name = "barectf"; +}; + +/* 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; + } align(8); +}; + +event { + stream_id = 0; + id = 0; + name = "ev"; + fields := struct { + integer { + signed = false; + size = 32; + align = 8; + byte_order = native; + base = 10; + } __array_len; + integer { + signed = false; + size = 3; + align = 1; + byte_order = native; + base = 10; + } array[__array_len]; + } align(1); +}; diff --git a/tests/tracing/expect/succeed/dynamic-array/of-uint8.data.expect b/tests/tracing/expect/succeed/dynamic-array/of-uint8.data.expect new file mode 100644 index 0000000..2b856bf Binary files /dev/null and b/tests/tracing/expect/succeed/dynamic-array/of-uint8.data.expect differ diff --git a/tests/tracing/expect/succeed/dynamic-array/of-uint8.metadata.expect b/tests/tracing/expect/succeed/dynamic-array/of-uint8.metadata.expect new file mode 100644 index 0000000..ad2a593 --- /dev/null +++ b/tests/tracing/expect/succeed/dynamic-array/of-uint8.metadata.expect @@ -0,0 +1,110 @@ +/* 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 = 32; + align = 8; + byte_order = native; + base = 10; + } magic; + integer { + signed = false; + size = 64; + align = 8; + byte_order = native; + base = 10; + } stream_id; + } align(8); +}; + +env { + domain = "bare"; + tracer_name = "barectf"; +}; + +/* 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; + } align(8); +}; + +event { + stream_id = 0; + id = 0; + name = "ev"; + fields := struct { + integer { + signed = false; + size = 32; + align = 8; + byte_order = native; + base = 10; + } __array_len; + integer { + signed = false; + size = 8; + align = 8; + byte_order = native; + base = 10; + } array[__array_len]; + } align(1); +}; diff --git a/tests/tracing/expect/succeed/dynamic-array/zero-len.data.expect b/tests/tracing/expect/succeed/dynamic-array/zero-len.data.expect new file mode 100644 index 0000000..338d48c Binary files /dev/null and b/tests/tracing/expect/succeed/dynamic-array/zero-len.data.expect differ diff --git a/tests/tracing/expect/succeed/dynamic-array/zero-len.metadata.expect b/tests/tracing/expect/succeed/dynamic-array/zero-len.metadata.expect new file mode 100644 index 0000000..2386313 --- /dev/null +++ b/tests/tracing/expect/succeed/dynamic-array/zero-len.metadata.expect @@ -0,0 +1,124 @@ +/* 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 = 32; + align = 8; + byte_order = native; + base = 10; + } magic; + integer { + signed = false; + size = 64; + align = 8; + byte_order = native; + base = 10; + } stream_id; + } align(8); +}; + +env { + domain = "bare"; + tracer_name = "barectf"; +}; + +/* 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; + } align(8); +}; + +event { + stream_id = 0; + id = 0; + name = "ev"; + fields := struct { + integer { + signed = false; + size = 8; + align = 8; + byte_order = native; + base = 10; + } before; + integer { + signed = false; + size = 32; + align = 8; + byte_order = native; + base = 10; + } __array_len; + integer { + signed = false; + size = 8; + align = 64; + byte_order = native; + base = 10; + } array[__array_len]; + integer { + signed = false; + size = 8; + align = 8; + byte_order = native; + base = 10; + } after; + } align(1); +}; diff --git a/tests/tracing/src/succeed/dynamic-array/nested-5-uint8.c b/tests/tracing/src/succeed/dynamic-array/nested-5-uint8.c new file mode 100644 index 0000000..a8023f2 --- /dev/null +++ b/tests/tracing/src/succeed/dynamic-array/nested-5-uint8.c @@ -0,0 +1,72 @@ +/* + * 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() +{ + struct test_platform_ctx *platform_ctx; + const uint8_t subsubsubsubarray1[] = {1, 2}; + const uint8_t subsubsubsubarray2[] = {3, 4}; + const uint8_t subsubsubsubarray3[] = {5, 6}; + const uint8_t subsubsubsubarray4[] = {7, 8}; + const uint8_t subsubsubsubarray5[] = {9, 10}; + const uint8_t subsubsubsubarray6[] = {11, 12}; + const uint8_t subsubsubsubarray7[] = {13, 14}; + const uint8_t subsubsubsubarray8[] = {15, 16}; + const uint8_t subsubsubsubarray9[] = {17, 18}; + const uint8_t subsubsubsubarray10[] = {19, 20}; + const uint8_t subsubsubsubarray11[] = {21, 22}; + const uint8_t subsubsubsubarray12[] = {23, 24}; + const uint8_t subsubsubsubarray13[] = {25, 26}; + const uint8_t subsubsubsubarray14[] = {27, 28}; + const uint8_t subsubsubsubarray15[] = {29, 30}; + const uint8_t subsubsubsubarray16[] = {31, 32}; + const uint8_t * const subsubsubarray1[] = {subsubsubsubarray1, subsubsubsubarray2}; + const uint8_t * const subsubsubarray2[] = {subsubsubsubarray3, subsubsubsubarray4}; + const uint8_t * const subsubsubarray3[] = {subsubsubsubarray5, subsubsubsubarray6}; + const uint8_t * const subsubsubarray4[] = {subsubsubsubarray7, subsubsubsubarray8}; + const uint8_t * const subsubsubarray5[] = {subsubsubsubarray9, subsubsubsubarray10}; + const uint8_t * const subsubsubarray6[] = {subsubsubsubarray11, subsubsubsubarray12}; + const uint8_t * const subsubsubarray7[] = {subsubsubsubarray13, subsubsubsubarray14}; + const uint8_t * const subsubsubarray8[] = {subsubsubsubarray15, subsubsubsubarray16}; + const uint8_t * const * const subsubarray1[] = {subsubsubarray1, subsubsubarray2}; + const uint8_t * const * const subsubarray2[] = {subsubsubarray3, subsubsubarray4}; + const uint8_t * const * const subsubarray3[] = {subsubsubarray5, subsubsubarray6}; + const uint8_t * const * const subsubarray4[] = {subsubsubarray7, subsubsubarray8}; + const uint8_t * const * const * const subarray1[] = {subsubarray1, subsubarray2}; + const uint8_t * const * const * const subarray2[] = {subsubarray3, subsubarray4}; + const uint8_t * const * const * const subarray3[] = {subsubarray1, subsubarray4}; + const uint8_t * const * const * const * const array[] = {subarray1, subarray2, subarray3}; + + platform_ctx = test_platform_init(512); + assert(platform_ctx); + barectf_trace_ev(test_platform_barectf_ctx(platform_ctx), 3, array); + test_platform_fini(platform_ctx); + return 0; +} diff --git a/tests/tracing/src/succeed/dynamic-array/of-double.c b/tests/tracing/src/succeed/dynamic-array/of-double.c new file mode 100644 index 0000000..0a0ff18 --- /dev/null +++ b/tests/tracing/src/succeed/dynamic-array/of-double.c @@ -0,0 +1,40 @@ +/* + * 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 "test-platform.h" +#include "barectf.h" + +int main() +{ + struct test_platform_ctx *platform_ctx; + const double array[] = {3.14, 6.62, 299792458., 0.2229}; + + platform_ctx = test_platform_init(512); + assert(platform_ctx); + barectf_trace_ev(test_platform_barectf_ctx(platform_ctx), 4, array); + test_platform_fini(platform_ctx); + return 0; +} diff --git a/tests/tracing/src/succeed/dynamic-array/of-static-array-of-double.c b/tests/tracing/src/succeed/dynamic-array/of-static-array-of-double.c new file mode 100644 index 0000000..19364f2 --- /dev/null +++ b/tests/tracing/src/succeed/dynamic-array/of-static-array-of-double.c @@ -0,0 +1,42 @@ +/* + * 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 "test-platform.h" +#include "barectf.h" + +int main() +{ + struct test_platform_ctx *platform_ctx; + const double subarray1[] = {-17.5, 15.48, 1001.}; + const double subarray2[] = {.1534, 555.555, 1e9}; + const double * const array[] = {subarray1, subarray2, subarray1}; + + platform_ctx = test_platform_init(512); + assert(platform_ctx); + barectf_trace_ev(test_platform_barectf_ctx(platform_ctx), 3, array); + test_platform_fini(platform_ctx); + return 0; +} diff --git a/tests/tracing/src/succeed/dynamic-array/of-static-array-of-str.c b/tests/tracing/src/succeed/dynamic-array/of-static-array-of-str.c new file mode 100644 index 0000000..51c16df --- /dev/null +++ b/tests/tracing/src/succeed/dynamic-array/of-static-array-of-str.c @@ -0,0 +1,42 @@ +/* + * 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 "test-platform.h" +#include "barectf.h" + +int main() +{ + struct test_platform_ctx *platform_ctx; + const char * const str1[] = {"Officia", "sit", "labore"}; + const char * const str2[] = {"Excepteur", "labore", "non"}; + const char * const * const array[] = {str1, str2}; + + platform_ctx = test_platform_init(512); + assert(platform_ctx); + barectf_trace_ev(test_platform_barectf_ctx(platform_ctx), 2, array); + test_platform_fini(platform_ctx); + return 0; +} diff --git a/tests/tracing/src/succeed/dynamic-array/of-static-array-of-uint8.c b/tests/tracing/src/succeed/dynamic-array/of-static-array-of-uint8.c new file mode 100644 index 0000000..6d0aadc --- /dev/null +++ b/tests/tracing/src/succeed/dynamic-array/of-static-array-of-uint8.c @@ -0,0 +1,43 @@ +/* + * 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() +{ + struct test_platform_ctx *platform_ctx; + const uint8_t subarray1[] = {1, 2, 3}; + const uint8_t subarray2[] = {4, 5, 6}; + const uint8_t * const array[] = {subarray1, subarray2, subarray1}; + + platform_ctx = test_platform_init(512); + assert(platform_ctx); + barectf_trace_ev(test_platform_barectf_ctx(platform_ctx), 3, array); + test_platform_fini(platform_ctx); + return 0; +} diff --git a/tests/tracing/src/succeed/dynamic-array/of-str.c b/tests/tracing/src/succeed/dynamic-array/of-str.c new file mode 100644 index 0000000..97e94a7 --- /dev/null +++ b/tests/tracing/src/succeed/dynamic-array/of-str.c @@ -0,0 +1,40 @@ +/* + * 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 "test-platform.h" +#include "barectf.h" + +int main() +{ + struct test_platform_ctx *platform_ctx; + const char * const array[] = {"Lorem", "ipsum", "quis"}; + + platform_ctx = test_platform_init(512); + assert(platform_ctx); + barectf_trace_ev(test_platform_barectf_ctx(platform_ctx), 3, array); + test_platform_fini(platform_ctx); + return 0; +} diff --git a/tests/tracing/src/succeed/dynamic-array/of-uint3-middle.c b/tests/tracing/src/succeed/dynamic-array/of-uint3-middle.c new file mode 100644 index 0000000..166f5d9 --- /dev/null +++ b/tests/tracing/src/succeed/dynamic-array/of-uint3-middle.c @@ -0,0 +1,42 @@ +/* + * 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() +{ + struct test_platform_ctx *platform_ctx; + const uint8_t array[] = {7, 5, 3, 2, 1}; + + platform_ctx = test_platform_init(512); + assert(platform_ctx); + barectf_trace_ev(test_platform_barectf_ctx(platform_ctx), 123456, + 5, array, "hello!"); + test_platform_fini(platform_ctx); + return 0; +} diff --git a/tests/tracing/src/succeed/dynamic-array/of-uint3.c b/tests/tracing/src/succeed/dynamic-array/of-uint3.c new file mode 100644 index 0000000..f9713eb --- /dev/null +++ b/tests/tracing/src/succeed/dynamic-array/of-uint3.c @@ -0,0 +1,41 @@ +/* + * 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() +{ + struct test_platform_ctx *platform_ctx; + const uint8_t array[] = {7, 5, 3, 2, 1, 0, 4}; + + platform_ctx = test_platform_init(512); + assert(platform_ctx); + barectf_trace_ev(test_platform_barectf_ctx(platform_ctx), 7, array); + test_platform_fini(platform_ctx); + return 0; +} diff --git a/tests/tracing/src/succeed/dynamic-array/of-uint8.c b/tests/tracing/src/succeed/dynamic-array/of-uint8.c new file mode 100644 index 0000000..5ffa3b3 --- /dev/null +++ b/tests/tracing/src/succeed/dynamic-array/of-uint8.c @@ -0,0 +1,41 @@ +/* + * 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() +{ + struct test_platform_ctx *platform_ctx; + const uint8_t array[] = {1, 1, 2, 3, 5, 8, 13}; + + platform_ctx = test_platform_init(512); + assert(platform_ctx); + barectf_trace_ev(test_platform_barectf_ctx(platform_ctx), 7, array); + test_platform_fini(platform_ctx); + return 0; +} diff --git a/tests/tracing/src/succeed/dynamic-array/zero-len.c b/tests/tracing/src/succeed/dynamic-array/zero-len.c new file mode 100644 index 0000000..058ea88 --- /dev/null +++ b/tests/tracing/src/succeed/dynamic-array/zero-len.c @@ -0,0 +1,41 @@ +/* + * 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() +{ + struct test_platform_ctx *platform_ctx; + + platform_ctx = test_platform_init(512); + assert(platform_ctx); + barectf_trace_ev(test_platform_barectf_ctx(platform_ctx), 23, + 0, NULL, 177); + test_platform_fini(platform_ctx); + return 0; +}