Add test to parse lf/crlf metadata
authorMichael Jeanson <mjeanson@efficios.com>
Thu, 19 Oct 2023 17:27:30 +0000 (13:27 -0400)
committerPhilippe Proulx <eeppeliteloop@gmail.com>
Tue, 24 Oct 2023 20:06:47 +0000 (16:06 -0400)
Unix-like platforms represent line endings in text file with a '\n' or
LF while Windows uses '\r\n' or CRLF. The CTF standard doesn't specify a
canonical representation for metadata files and only requires whitespace.

Test both styles of line endings on all platforms to ensure
interoperability of the produced metadata files.

Change-Id: Ib4080b1d95be2fb0d5844e7772bd6c2832de378a
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Reviewed-on: https://review.lttng.org/c/babeltrace/+/11078
Reviewed-by: Philippe Proulx <eeppeliteloop@gmail.com>
21 files changed:
tests/data/ctf-traces/succeed/crlf-metadata/channel0_0 [new file with mode: 0644]
tests/data/ctf-traces/succeed/crlf-metadata/channel0_1 [new file with mode: 0644]
tests/data/ctf-traces/succeed/crlf-metadata/channel0_2 [new file with mode: 0644]
tests/data/ctf-traces/succeed/crlf-metadata/channel0_3 [new file with mode: 0644]
tests/data/ctf-traces/succeed/crlf-metadata/index/channel0_0.idx [new file with mode: 0644]
tests/data/ctf-traces/succeed/crlf-metadata/index/channel0_1.idx [new file with mode: 0644]
tests/data/ctf-traces/succeed/crlf-metadata/index/channel0_2.idx [new file with mode: 0644]
tests/data/ctf-traces/succeed/crlf-metadata/index/channel0_3.idx [new file with mode: 0644]
tests/data/ctf-traces/succeed/crlf-metadata/metadata [new file with mode: 0644]
tests/data/ctf-traces/succeed/lf-metadata/channel0_0 [new file with mode: 0644]
tests/data/ctf-traces/succeed/lf-metadata/channel0_1 [new file with mode: 0644]
tests/data/ctf-traces/succeed/lf-metadata/channel0_2 [new file with mode: 0644]
tests/data/ctf-traces/succeed/lf-metadata/channel0_3 [new file with mode: 0644]
tests/data/ctf-traces/succeed/lf-metadata/index/channel0_0.idx [new file with mode: 0644]
tests/data/ctf-traces/succeed/lf-metadata/index/channel0_1.idx [new file with mode: 0644]
tests/data/ctf-traces/succeed/lf-metadata/index/channel0_2.idx [new file with mode: 0644]
tests/data/ctf-traces/succeed/lf-metadata/index/channel0_3.idx [new file with mode: 0644]
tests/data/ctf-traces/succeed/lf-metadata/metadata [new file with mode: 0644]
tests/data/plugins/src.ctf.fs/query/metadata-info-crlf-metadata.expect [new file with mode: 0644]
tests/data/plugins/src.ctf.fs/query/metadata-info-lf-metadata.expect [new file with mode: 0644]
tests/plugins/src.ctf.fs/query/test_query_metadata_info

diff --git a/tests/data/ctf-traces/succeed/crlf-metadata/channel0_0 b/tests/data/ctf-traces/succeed/crlf-metadata/channel0_0
new file mode 100644 (file)
index 0000000..af54261
Binary files /dev/null and b/tests/data/ctf-traces/succeed/crlf-metadata/channel0_0 differ
diff --git a/tests/data/ctf-traces/succeed/crlf-metadata/channel0_1 b/tests/data/ctf-traces/succeed/crlf-metadata/channel0_1
new file mode 100644 (file)
index 0000000..78f155f
Binary files /dev/null and b/tests/data/ctf-traces/succeed/crlf-metadata/channel0_1 differ
diff --git a/tests/data/ctf-traces/succeed/crlf-metadata/channel0_2 b/tests/data/ctf-traces/succeed/crlf-metadata/channel0_2
new file mode 100644 (file)
index 0000000..e9c9fef
Binary files /dev/null and b/tests/data/ctf-traces/succeed/crlf-metadata/channel0_2 differ
diff --git a/tests/data/ctf-traces/succeed/crlf-metadata/channel0_3 b/tests/data/ctf-traces/succeed/crlf-metadata/channel0_3
new file mode 100644 (file)
index 0000000..a6d5820
Binary files /dev/null and b/tests/data/ctf-traces/succeed/crlf-metadata/channel0_3 differ
diff --git a/tests/data/ctf-traces/succeed/crlf-metadata/index/channel0_0.idx b/tests/data/ctf-traces/succeed/crlf-metadata/index/channel0_0.idx
new file mode 100644 (file)
index 0000000..f28bfe1
Binary files /dev/null and b/tests/data/ctf-traces/succeed/crlf-metadata/index/channel0_0.idx differ
diff --git a/tests/data/ctf-traces/succeed/crlf-metadata/index/channel0_1.idx b/tests/data/ctf-traces/succeed/crlf-metadata/index/channel0_1.idx
new file mode 100644 (file)
index 0000000..38ef065
Binary files /dev/null and b/tests/data/ctf-traces/succeed/crlf-metadata/index/channel0_1.idx differ
diff --git a/tests/data/ctf-traces/succeed/crlf-metadata/index/channel0_2.idx b/tests/data/ctf-traces/succeed/crlf-metadata/index/channel0_2.idx
new file mode 100644 (file)
index 0000000..1352913
Binary files /dev/null and b/tests/data/ctf-traces/succeed/crlf-metadata/index/channel0_2.idx differ
diff --git a/tests/data/ctf-traces/succeed/crlf-metadata/index/channel0_3.idx b/tests/data/ctf-traces/succeed/crlf-metadata/index/channel0_3.idx
new file mode 100644 (file)
index 0000000..40605ad
Binary files /dev/null and b/tests/data/ctf-traces/succeed/crlf-metadata/index/channel0_3.idx differ
diff --git a/tests/data/ctf-traces/succeed/crlf-metadata/metadata b/tests/data/ctf-traces/succeed/crlf-metadata/metadata
new file mode 100644 (file)
index 0000000..3c1438f
--- /dev/null
@@ -0,0 +1,114 @@
+/* CTF 1.8 */\r
+\r
+typealias integer { size = 8; align = 8; signed = false; } := uint8_t;\r
+typealias integer { size = 16; align = 8; signed = false; } := uint16_t;\r
+typealias integer { size = 32; align = 8; signed = false; } := uint32_t;\r
+typealias integer { size = 64; align = 8; signed = false; } := uint64_t;\r
+typealias integer { size = 64; align = 8; signed = false; } := unsigned long;\r
+typealias integer { size = 5; align = 1; signed = false; } := uint5_t;\r
+typealias integer { size = 27; align = 1; signed = false; } := uint27_t;\r
+\r
+trace {\r
+       major = 1;\r
+       minor = 8;\r
+       uuid = "ddb15f3f-a235-444e-9d1b-f131648b5bf1";\r
+       byte_order = le;\r
+       packet.header := struct {\r
+               uint32_t magic;\r
+               uint8_t  uuid[16];\r
+               uint32_t stream_id;\r
+               uint64_t stream_instance_id;\r
+       };\r
+};\r
+\r
+env {\r
+       domain = "ust";\r
+       tracer_name = "lttng-ust";\r
+       tracer_major = 2;\r
+       tracer_minor = 13;\r
+       tracer_buffering_scheme = "uid";\r
+       tracer_buffering_id = 1000;\r
+       architecture_bit_width = 64;\r
+       trace_name = "crlf-metadata";\r
+       trace_creation_datetime = "20231023T193151+0000";\r
+       hostname = "line-endings";\r
+};\r
+\r
+clock {\r
+       name = "monotonic";\r
+       uuid = "d0367630-5511-4855-a390-afe86f9b4545";\r
+       description = "Monotonic Clock";\r
+       freq = 1000000000; /* Frequency, in Hz */\r
+       /* clock value offset from Epoch is: offset * (1/freq) */\r
+       offset = 1698076473717549015;\r
+};\r
+\r
+typealias integer {\r
+       size = 27; align = 1; signed = false;\r
+       map = clock.monotonic.value;\r
+} := uint27_clock_monotonic_t;\r
+\r
+typealias integer {\r
+       size = 32; align = 8; signed = false;\r
+       map = clock.monotonic.value;\r
+} := uint32_clock_monotonic_t;\r
+\r
+typealias integer {\r
+       size = 64; align = 8; signed = false;\r
+       map = clock.monotonic.value;\r
+} := uint64_clock_monotonic_t;\r
+\r
+struct packet_context {\r
+       uint64_clock_monotonic_t timestamp_begin;\r
+       uint64_clock_monotonic_t timestamp_end;\r
+       uint64_t content_size;\r
+       uint64_t packet_size;\r
+       uint64_t packet_seq_num;\r
+       unsigned long events_discarded;\r
+       uint32_t cpu_id;\r
+};\r
+\r
+struct event_header_compact {\r
+       enum : uint5_t { compact = 0 ... 30, extended = 31 } id;\r
+       variant <id> {\r
+               struct {\r
+                       uint27_clock_monotonic_t timestamp;\r
+               } compact;\r
+               struct {\r
+                       uint32_t id;\r
+                       uint64_clock_monotonic_t timestamp;\r
+               } extended;\r
+       } v;\r
+} align(8);\r
+\r
+struct event_header_large {\r
+       enum : uint16_t { compact = 0 ... 65534, extended = 65535 } id;\r
+       variant <id> {\r
+               struct {\r
+                       uint32_clock_monotonic_t timestamp;\r
+               } compact;\r
+               struct {\r
+                       uint32_t id;\r
+                       uint64_clock_monotonic_t timestamp;\r
+               } extended;\r
+       } v;\r
+} align(8);\r
+\r
+stream {\r
+       id = 0;\r
+       event.header := struct event_header_large;\r
+       packet.context := struct packet_context;\r
+};\r
+\r
+event {\r
+       name = "lttng_ust_tracef:event";\r
+       id = 0;\r
+       stream_id = 0;\r
+       loglevel = 14;\r
+       fields := struct {\r
+               integer { size = 32; align = 8; signed = 0; encoding = none; base = 10; } __msg_length;\r
+               integer { size = 8; align = 8; signed = 1; encoding = UTF8; base = 10; } _msg[ __msg_length ];\r
+       };\r
+};\r
+\r
+\r
diff --git a/tests/data/ctf-traces/succeed/lf-metadata/channel0_0 b/tests/data/ctf-traces/succeed/lf-metadata/channel0_0
new file mode 100644 (file)
index 0000000..82dc458
Binary files /dev/null and b/tests/data/ctf-traces/succeed/lf-metadata/channel0_0 differ
diff --git a/tests/data/ctf-traces/succeed/lf-metadata/channel0_1 b/tests/data/ctf-traces/succeed/lf-metadata/channel0_1
new file mode 100644 (file)
index 0000000..0fbdc56
Binary files /dev/null and b/tests/data/ctf-traces/succeed/lf-metadata/channel0_1 differ
diff --git a/tests/data/ctf-traces/succeed/lf-metadata/channel0_2 b/tests/data/ctf-traces/succeed/lf-metadata/channel0_2
new file mode 100644 (file)
index 0000000..42ea716
Binary files /dev/null and b/tests/data/ctf-traces/succeed/lf-metadata/channel0_2 differ
diff --git a/tests/data/ctf-traces/succeed/lf-metadata/channel0_3 b/tests/data/ctf-traces/succeed/lf-metadata/channel0_3
new file mode 100644 (file)
index 0000000..880d5b9
Binary files /dev/null and b/tests/data/ctf-traces/succeed/lf-metadata/channel0_3 differ
diff --git a/tests/data/ctf-traces/succeed/lf-metadata/index/channel0_0.idx b/tests/data/ctf-traces/succeed/lf-metadata/index/channel0_0.idx
new file mode 100644 (file)
index 0000000..89cb2e0
Binary files /dev/null and b/tests/data/ctf-traces/succeed/lf-metadata/index/channel0_0.idx differ
diff --git a/tests/data/ctf-traces/succeed/lf-metadata/index/channel0_1.idx b/tests/data/ctf-traces/succeed/lf-metadata/index/channel0_1.idx
new file mode 100644 (file)
index 0000000..ad7f655
Binary files /dev/null and b/tests/data/ctf-traces/succeed/lf-metadata/index/channel0_1.idx differ
diff --git a/tests/data/ctf-traces/succeed/lf-metadata/index/channel0_2.idx b/tests/data/ctf-traces/succeed/lf-metadata/index/channel0_2.idx
new file mode 100644 (file)
index 0000000..e658309
Binary files /dev/null and b/tests/data/ctf-traces/succeed/lf-metadata/index/channel0_2.idx differ
diff --git a/tests/data/ctf-traces/succeed/lf-metadata/index/channel0_3.idx b/tests/data/ctf-traces/succeed/lf-metadata/index/channel0_3.idx
new file mode 100644 (file)
index 0000000..2c54396
Binary files /dev/null and b/tests/data/ctf-traces/succeed/lf-metadata/index/channel0_3.idx differ
diff --git a/tests/data/ctf-traces/succeed/lf-metadata/metadata b/tests/data/ctf-traces/succeed/lf-metadata/metadata
new file mode 100644 (file)
index 0000000..af907ff
--- /dev/null
@@ -0,0 +1,114 @@
+/* CTF 1.8 */
+
+typealias integer { size = 8; align = 8; signed = false; } := uint8_t;
+typealias integer { size = 16; align = 8; signed = false; } := uint16_t;
+typealias integer { size = 32; align = 8; signed = false; } := uint32_t;
+typealias integer { size = 64; align = 8; signed = false; } := uint64_t;
+typealias integer { size = 64; align = 8; signed = false; } := unsigned long;
+typealias integer { size = 5; align = 1; signed = false; } := uint5_t;
+typealias integer { size = 27; align = 1; signed = false; } := uint27_t;
+
+trace {
+       major = 1;
+       minor = 8;
+       uuid = "8c609d38-ed7e-49c3-81df-33cf268062b7";
+       byte_order = le;
+       packet.header := struct {
+               uint32_t magic;
+               uint8_t  uuid[16];
+               uint32_t stream_id;
+               uint64_t stream_instance_id;
+       };
+};
+
+env {
+       domain = "ust";
+       tracer_name = "lttng-ust";
+       tracer_major = 2;
+       tracer_minor = 13;
+       tracer_buffering_scheme = "uid";
+       tracer_buffering_id = 1000;
+       architecture_bit_width = 64;
+       trace_name = "lf-metadata";
+       trace_creation_datetime = "20231023T185853+0000";
+       hostname = "line-endings";
+};
+
+clock {
+       name = "monotonic";
+       uuid = "d0367630-5511-4855-a390-afe86f9b4545";
+       description = "Monotonic Clock";
+       freq = 1000000000; /* Frequency, in Hz */
+       /* clock value offset from Epoch is: offset * (1/freq) */
+       offset = 1698076473717549018;
+};
+
+typealias integer {
+       size = 27; align = 1; signed = false;
+       map = clock.monotonic.value;
+} := uint27_clock_monotonic_t;
+
+typealias integer {
+       size = 32; align = 8; signed = false;
+       map = clock.monotonic.value;
+} := uint32_clock_monotonic_t;
+
+typealias integer {
+       size = 64; align = 8; signed = false;
+       map = clock.monotonic.value;
+} := uint64_clock_monotonic_t;
+
+struct packet_context {
+       uint64_clock_monotonic_t timestamp_begin;
+       uint64_clock_monotonic_t timestamp_end;
+       uint64_t content_size;
+       uint64_t packet_size;
+       uint64_t packet_seq_num;
+       unsigned long events_discarded;
+       uint32_t cpu_id;
+};
+
+struct event_header_compact {
+       enum : uint5_t { compact = 0 ... 30, extended = 31 } id;
+       variant <id> {
+               struct {
+                       uint27_clock_monotonic_t timestamp;
+               } compact;
+               struct {
+                       uint32_t id;
+                       uint64_clock_monotonic_t timestamp;
+               } extended;
+       } v;
+} align(8);
+
+struct event_header_large {
+       enum : uint16_t { compact = 0 ... 65534, extended = 65535 } id;
+       variant <id> {
+               struct {
+                       uint32_clock_monotonic_t timestamp;
+               } compact;
+               struct {
+                       uint32_t id;
+                       uint64_clock_monotonic_t timestamp;
+               } extended;
+       } v;
+} align(8);
+
+stream {
+       id = 0;
+       event.header := struct event_header_large;
+       packet.context := struct packet_context;
+};
+
+event {
+       name = "lttng_ust_tracef:event";
+       id = 0;
+       stream_id = 0;
+       loglevel = 14;
+       fields := struct {
+               integer { size = 32; align = 8; signed = 0; encoding = none; base = 10; } __msg_length;
+               integer { size = 8; align = 8; signed = 1; encoding = UTF8; base = 10; } _msg[ __msg_length ];
+       };
+};
+
+
diff --git a/tests/data/plugins/src.ctf.fs/query/metadata-info-crlf-metadata.expect b/tests/data/plugins/src.ctf.fs/query/metadata-info-crlf-metadata.expect
new file mode 100644 (file)
index 0000000..ad49502
--- /dev/null
@@ -0,0 +1,116 @@
+is-packetized: no
+text: /* CTF 1.8 */
+
+typealias integer { size = 8; align = 8; signed = false; } := uint8_t;
+typealias integer { size = 16; align = 8; signed = false; } := uint16_t;
+typealias integer { size = 32; align = 8; signed = false; } := uint32_t;
+typealias integer { size = 64; align = 8; signed = false; } := uint64_t;
+typealias integer { size = 64; align = 8; signed = false; } := unsigned long;
+typealias integer { size = 5; align = 1; signed = false; } := uint5_t;
+typealias integer { size = 27; align = 1; signed = false; } := uint27_t;
+
+trace {
+       major = 1;
+       minor = 8;
+       uuid = "ddb15f3f-a235-444e-9d1b-f131648b5bf1";
+       byte_order = le;
+       packet.header := struct {
+               uint32_t magic;
+               uint8_t  uuid[16];
+               uint32_t stream_id;
+               uint64_t stream_instance_id;
+       };
+};
+
+env {
+       domain = "ust";
+       tracer_name = "lttng-ust";
+       tracer_major = 2;
+       tracer_minor = 13;
+       tracer_buffering_scheme = "uid";
+       tracer_buffering_id = 1000;
+       architecture_bit_width = 64;
+       trace_name = "crlf-metadata";
+       trace_creation_datetime = "20231023T193151+0000";
+       hostname = "line-endings";
+};
+
+clock {
+       name = "monotonic";
+       uuid = "d0367630-5511-4855-a390-afe86f9b4545";
+       description = "Monotonic Clock";
+       freq = 1000000000; /* Frequency, in Hz */
+       /* clock value offset from Epoch is: offset * (1/freq) */
+       offset = 1698076473717549015;
+};
+
+typealias integer {
+       size = 27; align = 1; signed = false;
+       map = clock.monotonic.value;
+} := uint27_clock_monotonic_t;
+
+typealias integer {
+       size = 32; align = 8; signed = false;
+       map = clock.monotonic.value;
+} := uint32_clock_monotonic_t;
+
+typealias integer {
+       size = 64; align = 8; signed = false;
+       map = clock.monotonic.value;
+} := uint64_clock_monotonic_t;
+
+struct packet_context {
+       uint64_clock_monotonic_t timestamp_begin;
+       uint64_clock_monotonic_t timestamp_end;
+       uint64_t content_size;
+       uint64_t packet_size;
+       uint64_t packet_seq_num;
+       unsigned long events_discarded;
+       uint32_t cpu_id;
+};
+
+struct event_header_compact {
+       enum : uint5_t { compact = 0 ... 30, extended = 31 } id;
+       variant <id> {
+               struct {
+                       uint27_clock_monotonic_t timestamp;
+               } compact;
+               struct {
+                       uint32_t id;
+                       uint64_clock_monotonic_t timestamp;
+               } extended;
+       } v;
+} align(8);
+
+struct event_header_large {
+       enum : uint16_t { compact = 0 ... 65534, extended = 65535 } id;
+       variant <id> {
+               struct {
+                       uint32_clock_monotonic_t timestamp;
+               } compact;
+               struct {
+                       uint32_t id;
+                       uint64_clock_monotonic_t timestamp;
+               } extended;
+       } v;
+} align(8);
+
+stream {
+       id = 0;
+       event.header := struct event_header_large;
+       packet.context := struct packet_context;
+};
+
+event {
+       name = "lttng_ust_tracef:event";
+       id = 0;
+       stream_id = 0;
+       loglevel = 14;
+       fields := struct {
+               integer { size = 32; align = 8; signed = 0; encoding = none; base = 10; } __msg_length;
+               integer { size = 8; align = 8; signed = 1; encoding = UTF8; base = 10; } _msg[ __msg_length ];
+       };
+};
+
+
+
diff --git a/tests/data/plugins/src.ctf.fs/query/metadata-info-lf-metadata.expect b/tests/data/plugins/src.ctf.fs/query/metadata-info-lf-metadata.expect
new file mode 100644 (file)
index 0000000..d9237d6
--- /dev/null
@@ -0,0 +1,116 @@
+is-packetized: no
+text: /* CTF 1.8 */
+
+typealias integer { size = 8; align = 8; signed = false; } := uint8_t;
+typealias integer { size = 16; align = 8; signed = false; } := uint16_t;
+typealias integer { size = 32; align = 8; signed = false; } := uint32_t;
+typealias integer { size = 64; align = 8; signed = false; } := uint64_t;
+typealias integer { size = 64; align = 8; signed = false; } := unsigned long;
+typealias integer { size = 5; align = 1; signed = false; } := uint5_t;
+typealias integer { size = 27; align = 1; signed = false; } := uint27_t;
+
+trace {
+       major = 1;
+       minor = 8;
+       uuid = "8c609d38-ed7e-49c3-81df-33cf268062b7";
+       byte_order = le;
+       packet.header := struct {
+               uint32_t magic;
+               uint8_t  uuid[16];
+               uint32_t stream_id;
+               uint64_t stream_instance_id;
+       };
+};
+
+env {
+       domain = "ust";
+       tracer_name = "lttng-ust";
+       tracer_major = 2;
+       tracer_minor = 13;
+       tracer_buffering_scheme = "uid";
+       tracer_buffering_id = 1000;
+       architecture_bit_width = 64;
+       trace_name = "lf-metadata";
+       trace_creation_datetime = "20231023T185853+0000";
+       hostname = "line-endings";
+};
+
+clock {
+       name = "monotonic";
+       uuid = "d0367630-5511-4855-a390-afe86f9b4545";
+       description = "Monotonic Clock";
+       freq = 1000000000; /* Frequency, in Hz */
+       /* clock value offset from Epoch is: offset * (1/freq) */
+       offset = 1698076473717549018;
+};
+
+typealias integer {
+       size = 27; align = 1; signed = false;
+       map = clock.monotonic.value;
+} := uint27_clock_monotonic_t;
+
+typealias integer {
+       size = 32; align = 8; signed = false;
+       map = clock.monotonic.value;
+} := uint32_clock_monotonic_t;
+
+typealias integer {
+       size = 64; align = 8; signed = false;
+       map = clock.monotonic.value;
+} := uint64_clock_monotonic_t;
+
+struct packet_context {
+       uint64_clock_monotonic_t timestamp_begin;
+       uint64_clock_monotonic_t timestamp_end;
+       uint64_t content_size;
+       uint64_t packet_size;
+       uint64_t packet_seq_num;
+       unsigned long events_discarded;
+       uint32_t cpu_id;
+};
+
+struct event_header_compact {
+       enum : uint5_t { compact = 0 ... 30, extended = 31 } id;
+       variant <id> {
+               struct {
+                       uint27_clock_monotonic_t timestamp;
+               } compact;
+               struct {
+                       uint32_t id;
+                       uint64_clock_monotonic_t timestamp;
+               } extended;
+       } v;
+} align(8);
+
+struct event_header_large {
+       enum : uint16_t { compact = 0 ... 65534, extended = 65535 } id;
+       variant <id> {
+               struct {
+                       uint32_clock_monotonic_t timestamp;
+               } compact;
+               struct {
+                       uint32_t id;
+                       uint64_clock_monotonic_t timestamp;
+               } extended;
+       } v;
+} align(8);
+
+stream {
+       id = 0;
+       event.header := struct event_header_large;
+       packet.context := struct packet_context;
+};
+
+event {
+       name = "lttng_ust_tracef:event";
+       id = 0;
+       stream_id = 0;
+       loglevel = 14;
+       fields := struct {
+               integer { size = 32; align = 8; signed = 0; encoding = none; base = 10; } __msg_length;
+               integer { size = 8; align = 8; signed = 1; encoding = UTF8; base = 10; } _msg[ __msg_length ];
+       };
+};
+
+
+
index 2efa9e9ab5ed670fe71c0a8c6c4348e0eceadc3e..0be2f81292a73b23d92b7e3652881ca00b116c0a 100755 (executable)
@@ -78,6 +78,8 @@ test_non_existent_trace_dir() {
        rm -f "${stdout_file}" "${stderr_file}"
 }
 
-plan_tests 5
+plan_tests 7
 test_query_metadata_info succeed1
 test_non_existent_trace_dir
+test_query_metadata_info lf-metadata
+test_query_metadata_info crlf-metadata
This page took 0.03674 seconds and 4 git commands to generate.