From fd07c4c7b5350fa8a0aa91e4248f0023638db5d8 Mon Sep 17 00:00:00 2001 From: Simon Dardis Date: Wed, 22 Feb 2017 14:34:45 +0000 Subject: [PATCH] [Support] XFAIL is_local for mips is_local can't pass on some our buildbots as some of our buildbots use network shares for building and testing LLVM. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@295840 91177308-0d34-0410-b5e6-96231b3b80d8 --- unittests/Support/Path.cpp | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/unittests/Support/Path.cpp b/unittests/Support/Path.cpp index df3c5fd0f32..24f16fd1696 100644 --- a/unittests/Support/Path.cpp +++ b/unittests/Support/Path.cpp @@ -8,12 +8,15 @@ //===----------------------------------------------------------------------===// #include "llvm/Support/Path.h" +#include "llvm/ADT/SmallVector.h" #include "llvm/ADT/STLExtras.h" +#include "llvm/ADT/Triple.h" #include "llvm/Support/ConvertUTF.h" #include "llvm/Support/Errc.h" #include "llvm/Support/ErrorHandling.h" #include "llvm/Support/FileSystem.h" #include "llvm/Support/FileUtilities.h" +#include "llvm/Support/Host.h" #include "llvm/Support/MemoryBuffer.h" #include "llvm/Support/raw_ostream.h" #include "gtest/gtest.h" @@ -441,6 +444,31 @@ protected: } void TearDown() override { ASSERT_NO_ERROR(fs::remove(TestDirectory.str())); } + + SmallVector UnsupportedArchs; + SmallVector UnsupportedOSs; + SmallVector UnsupportedEnvironments; + + bool isUnsupportedOSOrEnvironment() { + Triple Host(Triple::normalize(sys::getProcessTriple())); + + if (find(UnsupportedEnvironments, Host.getEnvironment()) != + UnsupportedEnvironments.end()) + return true; + + if (is_contained(UnsupportedOSs, Host.getOS())) + return true; + + if (is_contained(UnsupportedArchs, Host.getArch())) + return true; + + return false; + } + + FileSystemTest() { + UnsupportedArchs.push_back(Triple::mips); + UnsupportedArchs.push_back(Triple::mipsel); + } }; TEST_F(FileSystemTest, Unique) { @@ -1136,7 +1164,15 @@ TEST_F(FileSystemTest, OpenFileForRead) { ::close(FileDescriptor); } +#define CHECK_UNSUPPORTED() \ + do { \ + if (isUnsupportedOSOrEnvironment()) \ + return; \ + } while (0); \ + TEST_F(FileSystemTest, is_local) { + CHECK_UNSUPPORTED(); + SmallString<128> CurrentPath; ASSERT_NO_ERROR(fs::current_path(CurrentPath)); -- 2.40.0