import bt2
import os
import re
+from pathlib import PureWindowsPath, PurePosixPath
test_ctf_traces_path = os.environ['BT_CTF_TRACES_PATH']
class QueryTraceInfoClockOffsetTestCase(unittest.TestCase):
-
def setUp(self):
ctf = bt2.find_plugin('ctf')
self._fs = ctf.source_component_classes['fs']
- self._paths = [os.path.join(test_ctf_traces_path, 'intersection', '3eventsintersect')]
+ self._inputs = [
+ os.path.join(test_ctf_traces_path, 'intersection', '3eventsintersect')
+ ]
self._executor = bt2.QueryExecutor()
def _check(self, trace, offset):
self.assertEqual(trace['range-ns']['begin'], 13515309000000000 + offset)
self.assertEqual(trace['range-ns']['end'], 13515309000000120 + offset)
- self.assertEqual(trace['intersection-range-ns']['begin'], 13515309000000070 + offset)
- self.assertEqual(trace['intersection-range-ns']['end'], 13515309000000100 + offset)
+ self.assertEqual(
+ trace['intersection-range-ns']['begin'], 13515309000000070 + offset
+ )
+ self.assertEqual(
+ trace['intersection-range-ns']['end'], 13515309000000100 + offset
+ )
streams = sorted(trace['streams'], key=sort_predictably)
self.assertEqual(streams[0]['range-ns']['begin'], 13515309000000000 + offset)
# Without clock class offset
def test_no_clock_class_offset(self):
- res = self._executor.query(self._fs, 'trace-info', {
- 'paths': self._paths,
- })
+ res = self._executor.query(self._fs, 'trace-info', {'inputs': self._inputs})
trace = res[0]
self._check(trace, 0)
# With clock-class-offset-s
def test_clock_class_offset_s(self):
- res = self._executor.query(self._fs, 'trace-info', {
- 'paths': self._paths,
- 'clock-class-offset-s': 2,
- })
+ res = self._executor.query(
+ self._fs, 'trace-info', {'inputs': self._inputs, 'clock-class-offset-s': 2}
+ )
trace = res[0]
self._check(trace, 2000000000)
# With clock-class-offset-ns
def test_clock_class_offset_ns(self):
- res = self._executor.query(self._fs, 'trace-info', {
- 'paths': self._paths,
- 'clock-class-offset-ns': 2,
- })
+ res = self._executor.query(
+ self._fs, 'trace-info', {'inputs': self._inputs, 'clock-class-offset-ns': 2}
+ )
trace = res[0]
self._check(trace, 2)
# With both, negative
def test_clock_class_offset_both(self):
- res = self._executor.query(self._fs, 'trace-info', {
- 'paths': self._paths,
- 'clock-class-offset-s': -2,
- 'clock-class-offset-ns': -2,
- })
+ res = self._executor.query(
+ self._fs,
+ 'trace-info',
+ {
+ 'inputs': self._inputs,
+ 'clock-class-offset-s': -2,
+ 'clock-class-offset-ns': -2,
+ },
+ )
trace = res[0]
self._check(trace, -2000000002)
def test_clock_class_offset_s_wrong_type(self):
with self.assertRaises(bt2.InvalidParams):
- self._executor.query(self._fs, 'trace-info', {
- 'paths': self._paths,
- 'clock-class-offset-s': "2",
- })
+ self._executor.query(
+ self._fs,
+ 'trace-info',
+ {'inputs': self._inputs, 'clock-class-offset-s': "2"},
+ )
def test_clock_class_offset_s_wrong_type_none(self):
with self.assertRaises(bt2.InvalidParams):
- self._executor.query(self._fs, 'trace-info', {
- 'paths': self._paths,
- 'clock-class-offset-s': None,
- })
+ self._executor.query(
+ self._fs,
+ 'trace-info',
+ {'inputs': self._inputs, 'clock-class-offset-s': None},
+ )
def test_clock_class_offset_ns_wrong_type(self):
with self.assertRaises(bt2.InvalidParams):
- self._executor.query(self._fs, 'trace-info', {
- 'paths': self._paths,
- 'clock-class-offset-ns': "2",
- })
+ self._executor.query(
+ self._fs,
+ 'trace-info',
+ {'inputs': self._inputs, 'clock-class-offset-ns': "2"},
+ )
def test_clock_class_offset_ns_wrong_type_none(self):
with self.assertRaises(bt2.InvalidParams):
- self._executor.query(self._fs, 'trace-info', {
- 'paths': self._paths,
- 'clock-class-offset-ns': None,
- })
+ self._executor.query(
+ self._fs,
+ 'trace-info',
+ {'inputs': self._inputs, 'clock-class-offset-ns': None},
+ )
class QueryTraceInfoPortNameTestCase(unittest.TestCase):
self._fs,
"trace-info",
{
- "paths": [
+ "inputs": [
os.path.join(
test_ctf_traces_path, "intersection", "3eventsintersect"
)
]
},
)
+
+ os_stream_path = PurePosixPath(
+ '/tests/data/ctf-traces/intersection/3eventsintersect/'
+ )
+ if os.environ['BT_OS_TYPE'] == 'mingw':
+ os_stream_path = PureWindowsPath(os_stream_path)
+
self.assertEqual(len(res), 1)
trace = res[0]
streams = sorted(trace["streams"], key=sort_predictably)
self.assertEqual(len(streams), 2)
self.assertRegexpMatches(
str(streams[0]["port-name"]),
- r"^7afe8fbe-79b8-4f6a-bbc7-d0c782e7ddaf \| 0 \| .*/tests/data/ctf-traces/intersection/3eventsintersect/test_stream_0$",
+ r"^7afe8fbe-79b8-4f6a-bbc7-d0c782e7ddaf \| 0 \| .*"
+ + re.escape(str(os_stream_path / "test_stream_0"))
+ + r"$",
)
self.assertRegexpMatches(
str(streams[1]["port-name"]),
- r"^7afe8fbe-79b8-4f6a-bbc7-d0c782e7ddaf \| 0 \| .*/tests/data/ctf-traces/intersection/3eventsintersect/test_stream_1$",
+ r"^7afe8fbe-79b8-4f6a-bbc7-d0c782e7ddaf \| 0 \| .*"
+ + re.escape(str(os_stream_path / "test_stream_1"))
+ + r"$",
)
def test_trace_uuid_no_stream_class_id_no_stream_id(self):
res = self._executor.query(
self._fs,
"trace-info",
- {"paths": [os.path.join(test_ctf_traces_path, "succeed", "succeed1")]},
+ {"inputs": [os.path.join(test_ctf_traces_path, "succeed", "succeed1")]},
+ )
+
+ os_stream_path = PurePosixPath(
+ '/tests/data/ctf-traces/succeed/succeed1/dummystream'
)
+ if os.environ['BT_OS_TYPE'] == 'mingw':
+ os_stream_path = PureWindowsPath(os_stream_path)
+
self.assertEqual(len(res), 1)
trace = res[0]
streams = sorted(trace["streams"], key=sort_predictably)
self.assertEqual(len(streams), 1)
self.assertRegexpMatches(
str(streams[0]["port-name"]),
- r"^2a6422d0-6cee-11e0-8c08-cb07d7b3a564 \| .*/tests/data/ctf-traces/succeed/succeed1/dummystream$",
+ r"^2a6422d0-6cee-11e0-8c08-cb07d7b3a564 \| .*"
+ + re.escape(str(os_stream_path))
+ + r"$",
)
res = self._executor.query(
self._fs,
"trace-info",
- {"paths": [os.path.join(test_ctf_traces_path, "succeed", "succeed1")]},
+ {"inputs": [os.path.join(test_ctf_traces_path, "succeed", "succeed1")]},
)
self.assertEqual(len(res), 1)