summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter
diff options
context:
space:
mode:
authorJonas Devlieghere <jonas@devlieghere.com>2020-01-14 23:05:55 -0800
committerJonas Devlieghere <jonas@devlieghere.com>2020-01-14 23:11:15 -0800
commit914b551eeed159ba6051852c0aa63a1311ac4e40 (patch)
tree694a7d4af600c2efc779e3389b42975f2aeb4f5a /lldb/packages/Python/lldbsuite/test/functionalities/data-formatter
parenta6faf851f49c7d50e92b16ff9d2e7c02790dd0f8 (diff)
downloadbcm5719-llvm-914b551eeed159ba6051852c0aa63a1311ac4e40.tar.gz
bcm5719-llvm-914b551eeed159ba6051852c0aa63a1311ac4e40.zip
[lldb/test] Add test for CMTime data formatter
Add a test for the CMTime data formatter. The coverage report showed that this code path was untested.
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/functionalities/data-formatter')
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-objc/cmtime/Makefile6
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-objc/cmtime/TestDataFormatterCMTime.py39
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-objc/cmtime/main.m22
3 files changed, 67 insertions, 0 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-objc/cmtime/Makefile b/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-objc/cmtime/Makefile
new file mode 100644
index 00000000000..143997cf26e
--- /dev/null
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-objc/cmtime/Makefile
@@ -0,0 +1,6 @@
+OBJC_SOURCES := main.m
+
+CFLAGS_EXTRAS := -w
+
+LD_EXTRAS := -framework CoreMedia
+include Makefile.rules
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-objc/cmtime/TestDataFormatterCMTime.py b/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-objc/cmtime/TestDataFormatterCMTime.py
new file mode 100644
index 00000000000..4c3935c851c
--- /dev/null
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-objc/cmtime/TestDataFormatterCMTime.py
@@ -0,0 +1,39 @@
+# encoding: utf-8
+
+import lldb
+from lldbsuite.test.decorators import *
+from lldbsuite.test.lldbtest import *
+from lldbsuite.test import lldbutil
+
+
+class CMTimeDataFormatterTestCase(TestBase):
+
+ mydir = TestBase.compute_mydir(__file__)
+
+ @skipUnlessDarwin
+ def test_nsindexpath_with_run_command(self):
+ """Test formatters for CMTime."""
+ self.build()
+ self.runCmd("file " + self.getBuildArtifact("a.out"),
+ CURRENT_EXECUTABLE_SET)
+
+ line = line_number('main.m', '// break here')
+ lldbutil.run_break_set_by_file_and_line(
+ self, "main.m", line, num_expected_locations=1, loc_exact=True)
+
+ self.runCmd("run", RUN_SUCCEEDED)
+
+ self.expect(
+ "thread list",
+ STOPPED_DUE_TO_BREAKPOINT,
+ substrs=['stopped', 'stop reason = breakpoint'])
+
+ self.expect(
+ 'frame variable t1',
+ substrs=[
+ '1 10th of a second', 'value = 1', 'timescale = 10',
+ 'epoch = 0'
+ ])
+ self.expect(
+ 'frame variable t2',
+ substrs=['10 seconds', 'value = 10', 'timescale = 1', 'epoch = 0'])
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-objc/cmtime/main.m b/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-objc/cmtime/main.m
new file mode 100644
index 00000000000..ecf7648c3f9
--- /dev/null
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-objc/cmtime/main.m
@@ -0,0 +1,22 @@
+//===-- main.m ------------------------------------------------*- ObjC -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#import <CoreMedia/CoreMedia.h>
+
+int main(int argc, const char **argv)
+{
+ @autoreleasepool
+ {
+ CMTime t1 = CMTimeMake(1, 10);
+ CMTime t2 = CMTimeMake(10, 1);
+
+ CMTimeShow(t1); // break here
+ CMTimeShow(t2);
+ }
+ return 0;
+}
OpenPOWER on IntegriCloud