[Lldb-commits] [lldb] 914b551 - [lldb/test] Add test for CMTime data formatter

Jonas Devlieghere via lldb-commits lldb-commits at lists.llvm.org
Tue Jan 14 23:11:38 PST 2020


Author: Jonas Devlieghere
Date: 2020-01-14T23:11:15-08:00
New Revision: 914b551eeed159ba6051852c0aa63a1311ac4e40

URL: https://github.com/llvm/llvm-project/commit/914b551eeed159ba6051852c0aa63a1311ac4e40
DIFF: https://github.com/llvm/llvm-project/commit/914b551eeed159ba6051852c0aa63a1311ac4e40.diff

LOG: [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.

Added: 
    lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-objc/cmtime/Makefile
    lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-objc/cmtime/TestDataFormatterCMTime.py
    lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-objc/cmtime/main.m

Modified: 
    

Removed: 
    


################################################################################
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 000000000000..143997cf26e3
--- /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 000000000000..4c3935c851c5
--- /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 000000000000..ecf7648c3f98
--- /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;
+}


        


More information about the lldb-commits mailing list