Pavel suggested an alternative approach that I'll try to implement.
llvm-svn: 336608
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 <string> | %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."""
# 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()
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()
# 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()
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)
# 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()
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)
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)
# 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()
# 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()