diff options
author | Vince Harron <vince@nethacker.com> | 2015-05-04 02:56:32 +0000 |
---|---|---|
committer | Vince Harron <vince@nethacker.com> | 2015-05-04 02:56:32 +0000 |
commit | f2e3760ad84b4346fd309f792a7c474b09bc9da4 (patch) | |
tree | 8dedbe714de4192703a2ee46e43bf9bb826350d0 /lldb/test/functionalities | |
parent | 66a8186ed415f4f385ea28201ac87b0350d92714 (diff) | |
download | bcm5719-llvm-f2e3760ad84b4346fd309f792a7c474b09bc9da4.tar.gz bcm5719-llvm-f2e3760ad84b4346fd309f792a7c474b09bc9da4.zip |
Enabled libc++ formatter tests on Linux
Refactored TestInitializerList to not be an inline test.
Refactored Makefiles to use USE_LIBCPP instead of adding FLAGS directly
Fixed copy/paste error in TestDataFormatterUnordered class name
Differenttial Revision: http://reviews.llvm.org/D9426
llvm-svn: 236401
Diffstat (limited to 'lldb/test/functionalities')
22 files changed, 88 insertions, 41 deletions
diff --git a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/initializerlist/TestInitializerList.py b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/initializerlist/TestInitializerList.py index a099be03762..8d31bdf78ab 100644 --- a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/initializerlist/TestInitializerList.py +++ b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/initializerlist/TestInitializerList.py @@ -1,6 +1,57 @@ -import lldbinline +""" +Test lldb data formatter subsystem. +""" + +import os, time +import unittest2 +import lldb from lldbtest import * +import lldbutil + +class InitializerListTestCase(TestBase): + + mydir = TestBase.compute_mydir(__file__) + + @skipUnlessDarwin + @dsym_test + def test_with_dsym(self): + """Test data formatter commands.""" + self.buildDsym() + self.data_formatter_commands() + + @skipIfWindows # libc++ not ported to Windows yet + @skipIfGcc + @expectedFailureLinux # fails on clang 3.5 and tot + @dwarf_test + def test_with_dwarf(self): + """Test data formatter commands.""" + self.buildDwarf() + self.data_formatter_commands() + + def setUp(self): + # Call super's setUp(). + TestBase.setUp(self) + + def data_formatter_commands(self): + """Test that that file and class static variables display correctly.""" + self.runCmd("file a.out", CURRENT_EXECUTABLE_SET) + + bkpt = self.target().FindBreakpointByID(lldbutil.run_break_set_by_source_regexp (self, "Set break point at this line.")) + + self.runCmd("run", RUN_SUCCEEDED) + + # The stop reason of the thread should be breakpoint. + self.expect("thread list", STOPPED_DUE_TO_BREAKPOINT, + substrs = ['stopped', + 'stop reason = breakpoint']) + + self.expect("frame variable ili", substrs = ['[1] = 2','[4] = 5']) + self.expect("frame variable ils", substrs = ['[4] = "surprise it is a long string!! yay!!"']) + + self.expect('image list', substrs = self.getLibcPlusPlusLibs()) -# added decorator to mark as XFAIL for Linux -# non-core functionality, need to reenable and fix later (DES 2014.11.07) -lldbinline.MakeInlineTest(__file__, globals(),expectedFailureLinux) +if __name__ == '__main__': + import atexit + lldb.SBDebugger.Initialize() + atexit.register(lambda: lldb.SBDebugger.Terminate()) + unittest2.main() diff --git a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/initializerlist/main.cpp b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/initializerlist/main.cpp index f89bb2c62fb..9109a20cb51 100644 --- a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/initializerlist/main.cpp +++ b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/initializerlist/main.cpp @@ -16,6 +16,6 @@ int main () std::initializer_list<int> ili{1,2,3,4,5}; std::initializer_list<std::string> ils{"1","2","3","4","surprise it is a long string!! yay!!"}; - return 0; //% self.expect("frame variable ili", substrs = ['[1] = 2','[4] = 5']) - //% self.expect("frame variable ils", substrs = ['[4] = "surprise it is a long string!! yay!!"']) + return 0; // Set break point at this line. } + diff --git a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/iterator/Makefile b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/iterator/Makefile index f2f2b3f2fb8..1f609a41d90 100644 --- a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/iterator/Makefile +++ b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/iterator/Makefile @@ -2,7 +2,6 @@ LEVEL = ../../../../../make CXX_SOURCES := main.cpp +USE_LIBCPP := 1 include $(LEVEL)/Makefile.rules - -CXXFLAGS += -stdlib=libc++ -O0 -LDFLAGS += -stdlib=libc++
\ No newline at end of file +CXXFLAGS += -O0 diff --git a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/iterator/TestDataFormatterLibccIterator.py b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/iterator/TestDataFormatterLibccIterator.py index b396f383585..0fbcc3a0d5d 100644 --- a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/iterator/TestDataFormatterLibccIterator.py +++ b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/iterator/TestDataFormatterLibccIterator.py @@ -19,7 +19,7 @@ class LibcxxIteratorDataFormatterTestCase(TestBase): self.buildDsym() self.data_formatter_commands() - @skipIfLinux # No standard locations for libc++ on Linux, so skip for now + @skipIfGcc @skipIfWindows # libc++ not ported to Windows yet @dwarf_test def test_with_dwarf_and_run_command(self): diff --git a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/list/Makefile b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/list/Makefile index f2f2b3f2fb8..1f609a41d90 100644 --- a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/list/Makefile +++ b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/list/Makefile @@ -2,7 +2,6 @@ LEVEL = ../../../../../make CXX_SOURCES := main.cpp +USE_LIBCPP := 1 include $(LEVEL)/Makefile.rules - -CXXFLAGS += -stdlib=libc++ -O0 -LDFLAGS += -stdlib=libc++
\ No newline at end of file +CXXFLAGS += -O0 diff --git a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/list/TestDataFormatterLibcxxList.py b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/list/TestDataFormatterLibcxxList.py index ca1fd9450d0..ee743b96ee2 100644 --- a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/list/TestDataFormatterLibcxxList.py +++ b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/list/TestDataFormatterLibcxxList.py @@ -19,7 +19,7 @@ class LibcxxListDataFormatterTestCase(TestBase): self.buildDsym() self.data_formatter_commands() - @skipIfLinux # No standard locations for libc++ on Linux, so skip for now + @skipIfGcc @skipIfWindows # libc++ not ported to Windows yet @dwarf_test def test_with_dwarf_and_run_command(self): diff --git a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/map/Makefile b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/map/Makefile index d473b144a8a..1f609a41d90 100644 --- a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/map/Makefile +++ b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/map/Makefile @@ -2,4 +2,6 @@ LEVEL = ../../../../../make CXX_SOURCES := main.cpp +USE_LIBCPP := 1 include $(LEVEL)/Makefile.rules +CXXFLAGS += -O0 diff --git a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/map/TestDataFormatterLibccMap.py b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/map/TestDataFormatterLibccMap.py index 2e4544190e8..8881ea05566 100644 --- a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/map/TestDataFormatterLibccMap.py +++ b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/map/TestDataFormatterLibccMap.py @@ -19,7 +19,7 @@ class LibcxxMapDataFormatterTestCase(TestBase): self.buildDsym() self.data_formatter_commands() - @skipIfLinux # No standard locations for libc++ on Linux, so skip for now + @skipIfGcc @skipIfWindows # libc++ not ported to Windows yet @dwarf_test def test_with_dwarf_and_run_command(self): diff --git a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/multimap/Makefile b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/multimap/Makefile index d473b144a8a..1f609a41d90 100644 --- a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/multimap/Makefile +++ b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/multimap/Makefile @@ -2,4 +2,6 @@ LEVEL = ../../../../../make CXX_SOURCES := main.cpp +USE_LIBCPP := 1 include $(LEVEL)/Makefile.rules +CXXFLAGS += -O0 diff --git a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/multimap/TestDataFormatterLibccMultiMap.py b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/multimap/TestDataFormatterLibccMultiMap.py index ec2eb06e0c4..2c3b72a6b7d 100644 --- a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/multimap/TestDataFormatterLibccMultiMap.py +++ b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/multimap/TestDataFormatterLibccMultiMap.py @@ -19,8 +19,8 @@ class LibcxxMultiMapDataFormatterTestCase(TestBase): self.buildDsym() self.data_formatter_commands() - @skipIfLinux # No standard locations for libc++ on Linux, so skip for now @skipIfWindows # libc++ not ported to Windows yet + @skipIfGcc @dwarf_test def test_with_dwarf_and_run_command(self): """Test data formatter commands.""" diff --git a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/multiset/Makefile b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/multiset/Makefile index f2f2b3f2fb8..1f609a41d90 100644 --- a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/multiset/Makefile +++ b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/multiset/Makefile @@ -2,7 +2,6 @@ LEVEL = ../../../../../make CXX_SOURCES := main.cpp +USE_LIBCPP := 1 include $(LEVEL)/Makefile.rules - -CXXFLAGS += -stdlib=libc++ -O0 -LDFLAGS += -stdlib=libc++
\ No newline at end of file +CXXFLAGS += -O0 diff --git a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/multiset/TestDataFormatterLibcxxMultiSet.py b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/multiset/TestDataFormatterLibcxxMultiSet.py index 24e73bb8cc9..f51f0509e41 100644 --- a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/multiset/TestDataFormatterLibcxxMultiSet.py +++ b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/multiset/TestDataFormatterLibcxxMultiSet.py @@ -19,7 +19,7 @@ class LibcxxMultiSetDataFormatterTestCase(TestBase): self.buildDsym() self.data_formatter_commands() - @skipIfLinux # No standard locations for libc++ on Linux, so skip for now + @skipIfGcc @skipIfWindows # libc++ not ported to Windows yet @dwarf_test def test_with_dwarf_and_run_command(self): diff --git a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/set/Makefile b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/set/Makefile index f2f2b3f2fb8..1f609a41d90 100644 --- a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/set/Makefile +++ b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/set/Makefile @@ -2,7 +2,6 @@ LEVEL = ../../../../../make CXX_SOURCES := main.cpp +USE_LIBCPP := 1 include $(LEVEL)/Makefile.rules - -CXXFLAGS += -stdlib=libc++ -O0 -LDFLAGS += -stdlib=libc++
\ No newline at end of file +CXXFLAGS += -O0 diff --git a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/set/TestDataFormatterLibcxxSet.py b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/set/TestDataFormatterLibcxxSet.py index 37792a5e17c..d855399ad10 100644 --- a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/set/TestDataFormatterLibcxxSet.py +++ b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/set/TestDataFormatterLibcxxSet.py @@ -19,7 +19,7 @@ class LibcxxSetDataFormatterTestCase(TestBase): self.buildDsym() self.data_formatter_commands() - @skipIfLinux # No standard locations for libc++ on Linux, so skip for now + @skipIfGcc @skipIfWindows # libc++ not ported to Windows yet @dwarf_test def test_with_dwarf_and_run_command(self): diff --git a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/string/Makefile b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/string/Makefile index f2f2b3f2fb8..1f609a41d90 100644 --- a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/string/Makefile +++ b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/string/Makefile @@ -2,7 +2,6 @@ LEVEL = ../../../../../make CXX_SOURCES := main.cpp +USE_LIBCPP := 1 include $(LEVEL)/Makefile.rules - -CXXFLAGS += -stdlib=libc++ -O0 -LDFLAGS += -stdlib=libc++
\ No newline at end of file +CXXFLAGS += -O0 diff --git a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/string/TestDataFormatterLibcxxString.py b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/string/TestDataFormatterLibcxxString.py index 7acee81ee18..fd3ecfe0461 100644 --- a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/string/TestDataFormatterLibcxxString.py +++ b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/string/TestDataFormatterLibcxxString.py @@ -20,7 +20,7 @@ class LibcxxStringDataFormatterTestCase(TestBase): self.buildDsym() self.data_formatter_commands() - @skipIfLinux # No standard locations for libc++ on Linux, so skip for now + @skipIfGcc @skipIfWindows # libc++ not ported to Windows yet @dwarf_test def test_with_dwarf_and_run_command(self): diff --git a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/unordered/Makefile b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/unordered/Makefile index e681e094da4..1f609a41d90 100644 --- a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/unordered/Makefile +++ b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/unordered/Makefile @@ -2,7 +2,6 @@ LEVEL = ../../../../../make CXX_SOURCES := main.cpp +USE_LIBCPP := 1 include $(LEVEL)/Makefile.rules - -CXXFLAGS += -stdlib=libc++ -O0 -std=c++11 -LDFLAGS += -stdlib=libc++
\ No newline at end of file +CXXFLAGS += -O0 diff --git a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/unordered/TestDataFormatterUnordered.py b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/unordered/TestDataFormatterUnordered.py index 7f2a7dd42da..dfcd0f0073f 100644 --- a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/unordered/TestDataFormatterUnordered.py +++ b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/unordered/TestDataFormatterUnordered.py @@ -8,7 +8,7 @@ import lldb from lldbtest import * import lldbutil -class LibcxxMultiMapDataFormatterTestCase(TestBase): +class LibcxxUnorderedDataFormatterTestCase(TestBase): mydir = TestBase.compute_mydir(__file__) @@ -19,8 +19,8 @@ class LibcxxMultiMapDataFormatterTestCase(TestBase): self.buildDsym() self.data_formatter_commands() - @skipIfLinux # No standard locations for libc++ on Linux, so skip for now @dwarf_test + @skipIfGcc def test_with_dwarf_and_run_command(self): """Test data formatter commands.""" self.buildDwarf() diff --git a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/vbool/Makefile b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/vbool/Makefile index f2f2b3f2fb8..637fa7e80bf 100644 --- a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/vbool/Makefile +++ b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/vbool/Makefile @@ -1,8 +1,7 @@ LEVEL = ../../../../../make CXX_SOURCES := main.cpp - +USE_LIBCPP := 1 include $(LEVEL)/Makefile.rules +CXXFLAGS += -O0 -CXXFLAGS += -stdlib=libc++ -O0 -LDFLAGS += -stdlib=libc++
\ No newline at end of file diff --git a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/vbool/TestDataFormatterLibcxxVBool.py b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/vbool/TestDataFormatterLibcxxVBool.py index 8dba1ff401c..e5abcd649a6 100644 --- a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/vbool/TestDataFormatterLibcxxVBool.py +++ b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/vbool/TestDataFormatterLibcxxVBool.py @@ -19,7 +19,7 @@ class LibcxxVBoolDataFormatterTestCase(TestBase): self.buildDsym() self.data_formatter_commands() - @skipIfLinux # No standard locations for libc++ on Linux, so skip for now + @skipIfGcc @skipIfWindows # http://llvm.org/pr21800 @dwarf_test def test_with_dwarf_and_run_command(self): diff --git a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/vector/Makefile b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/vector/Makefile index f2f2b3f2fb8..1f609a41d90 100644 --- a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/vector/Makefile +++ b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/vector/Makefile @@ -2,7 +2,6 @@ LEVEL = ../../../../../make CXX_SOURCES := main.cpp +USE_LIBCPP := 1 include $(LEVEL)/Makefile.rules - -CXXFLAGS += -stdlib=libc++ -O0 -LDFLAGS += -stdlib=libc++
\ No newline at end of file +CXXFLAGS += -O0 diff --git a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/vector/TestDataFormatterLibcxxVector.py b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/vector/TestDataFormatterLibcxxVector.py index 08546a5085e..b7c96189c0d 100644 --- a/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/vector/TestDataFormatterLibcxxVector.py +++ b/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/vector/TestDataFormatterLibcxxVector.py @@ -19,7 +19,7 @@ class LibcxxVectorDataFormatterTestCase(TestBase): self.buildDsym() self.data_formatter_commands() - @skipIfLinux # No standard locations for libc++ on Linux, so skip for now + @skipIfGcc @skipIfWindows # libc++ not ported to Windows yet @dwarf_test def test_with_dwarf_and_run_command(self): |