From ec34220f5cf000d8bfc6c1fcedd8b1abe25d23fa Mon Sep 17 00:00:00 2001 From: Davide Italiano Date: Mon, 9 Jul 2018 21:56:28 +0000 Subject: [PATCH] Rollback [test-suite] Add a decorator for the lack of libstdcxx on the system. Pavel suggested an alternative approach that I'll try to implement. llvm-svn: 336608 --- lldb/packages/Python/lldbsuite/test/decorators.py | 12 ------------ .../iterator/TestDataFormatterStdIterator.py | 3 ++- .../libstdcpp/list/TestDataFormatterStdList.py | 3 ++- .../libstdcpp/map/TestDataFormatterStdMap.py | 4 +++- .../smart_ptr/TestDataFormatterStdSmartPtr.py | 4 +++- .../libstdcpp/string/TestDataFormatterStdString.py | 3 ++- .../libstdcpp/tuple/TestDataFormatterStdTuple.py | 4 +++- .../unique_ptr/TestDataFormatterStdUniquePtr.py | 4 +++- .../libstdcpp/vbool/TestDataFormatterStdVBool.py | 6 +++++- .../libstdcpp/vector/TestDataFormatterStdVector.py | 4 +++- 10 files changed, 26 insertions(+), 21 deletions(-) diff --git a/lldb/packages/Python/lldbsuite/test/decorators.py b/lldb/packages/Python/lldbsuite/test/decorators.py index 1e6cd1469f11..1fdfd2caac00 100644 --- a/lldb/packages/Python/lldbsuite/test/decorators.py +++ b/lldb/packages/Python/lldbsuite/test/decorators.py @@ -687,18 +687,6 @@ def skipUnlessSupportedTypeAttribute(attr): return None return skipTestIfFn(compiler_doesnt_support_struct_attribute) -def skipUnlessLibstdcxxAvailable(func): - """Decorate the item to skip test unless libstdc++ is available on the system.""" - def compiler_doesnt_support_libstdcxx(self): - compiler_path = self.getCompiler() - f = tempfile.NamedTemporaryFile() - f = tempfile.NamedTemporaryFile() - cmd = "echo '#include | %s -x c++ -stdlib=libstdc++ -o %s -" % (compiler_path, f.name) - if os.popen(cmd).close() is not None: - return "libstdcxx not available on the sytem" - return None - return skipTestIfFn(compiler_doesnt_support_libstdcxx)(func) - def skipUnlessThreadSanitizer(func): """Decorate the item to skip test unless Clang -fsanitize=thread is supported.""" diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/iterator/TestDataFormatterStdIterator.py b/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/iterator/TestDataFormatterStdIterator.py index 9acfcd678b12..47b0a2486ed0 100644 --- a/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/iterator/TestDataFormatterStdIterator.py +++ b/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/iterator/TestDataFormatterStdIterator.py @@ -23,7 +23,8 @@ class StdIteratorDataFormatterTestCase(TestBase): # Find the line number to break at. self.line = line_number('main.cpp', '// Set break point at this line.') - @skipUnlessLibstdcxxAvailable + @skipIfWindows # libstdcpp not ported to Windows + @skipIfwatchOS # libstdcpp not ported to watchos def test_with_run_command(self): """Test that libstdcpp iterators format properly.""" self.build() diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/list/TestDataFormatterStdList.py b/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/list/TestDataFormatterStdList.py index 10aed32d75f6..ecbea5b24f57 100644 --- a/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/list/TestDataFormatterStdList.py +++ b/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/list/TestDataFormatterStdList.py @@ -27,7 +27,8 @@ class StdListDataFormatterTestCase(TestBase): self.final_line = line_number( 'main.cpp', '// Set final break point at this line.') - @skipUnlessLibstdcxxAvailable + @skipIfWindows # libstdcpp not ported to Windows + @skipIfwatchOS # libstdcpp not ported to watchos def test_with_run_command(self): """Test that that file and class static variables display correctly.""" self.build() diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/map/TestDataFormatterStdMap.py b/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/map/TestDataFormatterStdMap.py index b6d2724d8b47..0abfbcbee21b 100644 --- a/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/map/TestDataFormatterStdMap.py +++ b/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/map/TestDataFormatterStdMap.py @@ -23,7 +23,9 @@ class StdMapDataFormatterTestCase(TestBase): # Find the line number to break at. self.line = line_number('main.cpp', '// Set break point at this line.') - @skipUnlessLibstdcxxAvailable + @skipIfWindows # libstdcpp not ported to Windows + @skipIfFreeBSD + @skipIfwatchOS # libstdcpp not ported to watchos def test_with_run_command(self): """Test that that file and class static variables display correctly.""" self.build() diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/smart_ptr/TestDataFormatterStdSmartPtr.py b/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/smart_ptr/TestDataFormatterStdSmartPtr.py index 2161984e14a4..9d2c105b1168 100644 --- a/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/smart_ptr/TestDataFormatterStdSmartPtr.py +++ b/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/smart_ptr/TestDataFormatterStdSmartPtr.py @@ -15,8 +15,10 @@ from lldbsuite.test import lldbutil class StdSmartPtrDataFormatterTestCase(TestBase): mydir = TestBase.compute_mydir(__file__) + @skipIfFreeBSD + @skipIfWindows # libstdcpp not ported to Windows @skipIfDarwin # doesn't compile on Darwin - @skipUnlessLibstdcxxAvailable + @skipIfwatchOS # libstdcpp not ported to watchos def test_with_run_command(self): self.build() self.runCmd("file " + self.getBuildArtifact("a.out"), CURRENT_EXECUTABLE_SET) diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/string/TestDataFormatterStdString.py b/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/string/TestDataFormatterStdString.py index 957389a2ceee..8f6d94a2f291 100644 --- a/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/string/TestDataFormatterStdString.py +++ b/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/string/TestDataFormatterStdString.py @@ -24,7 +24,8 @@ class StdStringDataFormatterTestCase(TestBase): # Find the line number to break at. self.line = line_number('main.cpp', '// Set break point at this line.') - @skipUnlessLibstdcxxAvailable + @skipIfWindows # libstdcpp not ported to Windows + @skipIfwatchOS # libstdcpp not ported to watchos def test_with_run_command(self): """Test that that file and class static variables display correctly.""" self.build() diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/tuple/TestDataFormatterStdTuple.py b/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/tuple/TestDataFormatterStdTuple.py index 4de854ee0926..81a36ee63dd2 100644 --- a/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/tuple/TestDataFormatterStdTuple.py +++ b/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/tuple/TestDataFormatterStdTuple.py @@ -15,8 +15,10 @@ from lldbsuite.test import lldbutil class StdTupleDataFormatterTestCase(TestBase): mydir = TestBase.compute_mydir(__file__) + @skipIfFreeBSD + @skipIfWindows # libstdcpp not ported to Windows @skipIfDarwin # doesn't compile on Darwin - @skipUnlessLibstdcxxAvailable + @skipIfwatchOS # libstdcpp not ported to watchos def test_with_run_command(self): self.build() self.runCmd("file " + self.getBuildArtifact("a.out"), CURRENT_EXECUTABLE_SET) diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/unique_ptr/TestDataFormatterStdUniquePtr.py b/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/unique_ptr/TestDataFormatterStdUniquePtr.py index 6a22b3b339f9..fec2e4c1a4cd 100644 --- a/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/unique_ptr/TestDataFormatterStdUniquePtr.py +++ b/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/unique_ptr/TestDataFormatterStdUniquePtr.py @@ -15,8 +15,10 @@ from lldbsuite.test import lldbutil class StdUniquePtrDataFormatterTestCase(TestBase): mydir = TestBase.compute_mydir(__file__) + @skipIfFreeBSD + @skipIfWindows # libstdcpp not ported to Windows @skipIfDarwin # doesn't compile on Darwin - @skipUnlessLibstdcxxAvailable + @skipIfwatchOS # libstdcpp not ported to watchos def test_with_run_command(self): self.build() self.runCmd("file " + self.getBuildArtifact("a.out"), CURRENT_EXECUTABLE_SET) diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/vbool/TestDataFormatterStdVBool.py b/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/vbool/TestDataFormatterStdVBool.py index 20815dfe239c..7b497c68c70e 100644 --- a/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/vbool/TestDataFormatterStdVBool.py +++ b/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/vbool/TestDataFormatterStdVBool.py @@ -23,8 +23,12 @@ class StdVBoolDataFormatterTestCase(TestBase): # Find the line number to break at. self.line = line_number('main.cpp', '// Set break point at this line.') + @expectedFailureAll( + oslist=['freebsd'], + bugnumber='llvm.org/pr20548 fails to build on lab.llvm.org buildbot') + @skipIfWindows # libstdcpp not ported to Windows. @skipIfDarwin - @skipUnlessLibstdcxxAvailable + @skipIfwatchOS # libstdcpp not ported to watchos def test_with_run_command(self): """Test that that file and class static variables display correctly.""" self.build() diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/vector/TestDataFormatterStdVector.py b/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/vector/TestDataFormatterStdVector.py index 3cc0dc6296be..00d2c038f619 100644 --- a/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/vector/TestDataFormatterStdVector.py +++ b/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/vector/TestDataFormatterStdVector.py @@ -23,7 +23,9 @@ class StdVectorDataFormatterTestCase(TestBase): # Find the line number to break at. self.line = line_number('main.cpp', '// Set break point at this line.') - @skipUnlessLibstdcxxAvailable + @skipIfFreeBSD + @skipIfWindows # libstdcpp not ported to Windows + @skipIfwatchOS # libstdcpp not ported to watchos def test_with_run_command(self): """Test that that file and class static variables display correctly.""" self.build()