From 641d0b8cee4529ed2dca697cb76de6ce4d800871 Mon Sep 17 00:00:00 2001 From: Shafik Yaghmour Date: Wed, 6 Mar 2019 18:03:54 +0000 Subject: [PATCH] Adding test to cover the correct import of SourceLocation pertaining to a built-in during expression parsing Summary: This tests a fix in the ASTImpoter.cpp to ensure that we import built-in correctly, see differential: https://reviews.llvm.org/D58743 Once this change is merged this test should pass and should catch regressions in this feature. Differential Revision: https://reviews.llvm.org/D58790 llvm-svn: 355525 --- .../import_builtin_fileid/Makefile | 6 +++++ .../TestImportBuiltinFileID.py | 27 +++++++++++++++++++ .../import_builtin_fileid/main.m | 6 +++++ 3 files changed, 39 insertions(+) create mode 100644 lldb/packages/Python/lldbsuite/test/expression_command/import_builtin_fileid/Makefile create mode 100644 lldb/packages/Python/lldbsuite/test/expression_command/import_builtin_fileid/TestImportBuiltinFileID.py create mode 100644 lldb/packages/Python/lldbsuite/test/expression_command/import_builtin_fileid/main.m diff --git a/lldb/packages/Python/lldbsuite/test/expression_command/import_builtin_fileid/Makefile b/lldb/packages/Python/lldbsuite/test/expression_command/import_builtin_fileid/Makefile new file mode 100644 index 000000000000..4464e2ee9f5c --- /dev/null +++ b/lldb/packages/Python/lldbsuite/test/expression_command/import_builtin_fileid/Makefile @@ -0,0 +1,6 @@ +LEVEL = ../../make + +OBJC_SOURCES := main.m + +include $(LEVEL)/Makefile.rules +LDFLAGS += -framework Cocoa diff --git a/lldb/packages/Python/lldbsuite/test/expression_command/import_builtin_fileid/TestImportBuiltinFileID.py b/lldb/packages/Python/lldbsuite/test/expression_command/import_builtin_fileid/TestImportBuiltinFileID.py new file mode 100644 index 000000000000..08b6a8c90f54 --- /dev/null +++ b/lldb/packages/Python/lldbsuite/test/expression_command/import_builtin_fileid/TestImportBuiltinFileID.py @@ -0,0 +1,27 @@ +""" +They may be cases where an expression will import SourceLocation and if the +SourceLocation ends up with a FileID that is a built-in we need to copy that +buffer over correctly. +""" + + +import lldb +from lldbsuite.test.decorators import * +from lldbsuite.test.lldbtest import * +from lldbsuite.test import lldbutil + +class TestImportBuiltinFileID(TestBase): + + mydir = TestBase.compute_mydir(__file__) + + @skipUnlessDarwin + @skipIfDarwinEmbedded + @add_test_categories(["gmodules"]) + def test_import_builtin_fileid(self): + self.build() + + lldbutil.run_to_source_breakpoint(self, '// break here', + lldb.SBFileSpec("main.m", False)) + + self.expect("expr int (*DBG_CGImageGetRenderingIntent)(void *) = ((int (*)(void *))CGImageGetRenderingIntent); DBG_CGImageGetRenderingIntent((void *)0x00000000000000);", + substrs=['$0 = 0']) diff --git a/lldb/packages/Python/lldbsuite/test/expression_command/import_builtin_fileid/main.m b/lldb/packages/Python/lldbsuite/test/expression_command/import_builtin_fileid/main.m new file mode 100644 index 000000000000..ef74940b0ac5 --- /dev/null +++ b/lldb/packages/Python/lldbsuite/test/expression_command/import_builtin_fileid/main.m @@ -0,0 +1,6 @@ +#import + +int main(int argc, const char * argv[]) { + + return 0; // break here +} -- GitLab