aboutsummaryrefslogtreecommitdiff
path: root/llvm/unittests/Support
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/unittests/Support')
-rw-r--r--llvm/unittests/Support/CommandLineTest.cpp22
-rw-r--r--llvm/unittests/Support/DebugLogTest.cpp2
-rw-r--r--llvm/unittests/Support/DynamicLibrary/PipSqueak.h2
-rw-r--r--llvm/unittests/Support/VirtualFileSystemTest.cpp4
4 files changed, 24 insertions, 6 deletions
diff --git a/llvm/unittests/Support/CommandLineTest.cpp b/llvm/unittests/Support/CommandLineTest.cpp
index 3df4107..ad06ca9 100644
--- a/llvm/unittests/Support/CommandLineTest.cpp
+++ b/llvm/unittests/Support/CommandLineTest.cpp
@@ -28,6 +28,9 @@
#include <fstream>
#include <stdlib.h>
#include <string>
+#if HAVE_UNISTD_H
+#include <unistd.h>
+#endif
using namespace llvm;
using llvm::unittest::TempDir;
@@ -834,14 +837,23 @@ TEST(CommandLineTest, DefaultOptions) {
}
TEST(CommandLineTest, ArgumentLimit) {
- std::string args(32 * 4096, 'a');
- EXPECT_FALSE(llvm::sys::commandLineFitsWithinSystemLimits("cl", args.data()));
+#if HAVE_UNISTD_H && defined(_SC_ARG_MAX)
+ if (sysconf(_SC_ARG_MAX) != -1) {
+#endif
+ std::string args(32 * 4096, 'a');
+ EXPECT_FALSE(
+ llvm::sys::commandLineFitsWithinSystemLimits("cl", args.data()));
+#if HAVE_UNISTD_H && defined(_SC_ARG_MAX)
+ }
+#endif
std::string args2(256, 'a');
EXPECT_TRUE(llvm::sys::commandLineFitsWithinSystemLimits("cl", args2.data()));
}
TEST(CommandLineTest, ArgumentLimitWindows) {
- if (!Triple(sys::getProcessTriple()).isOSWindows())
+ Triple processTriple(sys::getProcessTriple());
+ if (!processTriple.isOSWindows() ||
+ processTriple.isWindowsCygwinEnvironment())
GTEST_SKIP();
// We use 32000 as a limit for command line length. Program name ('cl'),
// separating spaces and termination null character occupy 5 symbols.
@@ -854,7 +866,9 @@ TEST(CommandLineTest, ArgumentLimitWindows) {
}
TEST(CommandLineTest, ResponseFileWindows) {
- if (!Triple(sys::getProcessTriple()).isOSWindows())
+ Triple processTriple(sys::getProcessTriple());
+ if (!processTriple.isOSWindows() ||
+ processTriple.isWindowsCygwinEnvironment())
GTEST_SKIP();
StackOption<std::string, cl::list<std::string>> InputFilenames(
diff --git a/llvm/unittests/Support/DebugLogTest.cpp b/llvm/unittests/Support/DebugLogTest.cpp
index 0c464c1..c24d1a5 100644
--- a/llvm/unittests/Support/DebugLogTest.cpp
+++ b/llvm/unittests/Support/DebugLogTest.cpp
@@ -121,7 +121,7 @@ TEST(DebugLogTest, StreamPrefix) {
EXPECT_EQ(os.str(), expected);
}
// After destructors, there was a pending newline for stream B.
- EXPECT_EQ(os.str(), expected + "\nPrefixB \n");
+ EXPECT_EQ(os.str(), expected + "PrefixB ");
}
#else
TEST(DebugLogTest, Basic) {
diff --git a/llvm/unittests/Support/DynamicLibrary/PipSqueak.h b/llvm/unittests/Support/DynamicLibrary/PipSqueak.h
index 3eac1e0..dc069ca 100644
--- a/llvm/unittests/Support/DynamicLibrary/PipSqueak.h
+++ b/llvm/unittests/Support/DynamicLibrary/PipSqueak.h
@@ -22,7 +22,7 @@
#include <vector>
#endif
-#ifdef _WIN32
+#if defined(_WIN32) || defined(__CYGWIN__)
#define PIPSQUEAK_EXPORT __declspec(dllexport)
#elif defined(__MVS__)
#define PIPSQUEAK_EXPORT __attribute__((__visibility__("default")))
diff --git a/llvm/unittests/Support/VirtualFileSystemTest.cpp b/llvm/unittests/Support/VirtualFileSystemTest.cpp
index fc3ccea..6228de8 100644
--- a/llvm/unittests/Support/VirtualFileSystemTest.cpp
+++ b/llvm/unittests/Support/VirtualFileSystemTest.cpp
@@ -553,6 +553,10 @@ TEST(VirtualFileSystemTest, PhysicalFileSystemWorkingDirFailure) {
// Some platforms (e.g. Solaris) disallow removal of the working directory.
GTEST_SKIP() << "test requires deletion of working directory";
+#ifdef __CYGWIN__
+ GTEST_SKIP() << "Cygwin getcwd succeeds with unlinked working directory";
+#endif
+
// Verify that we still get two separate working directories.
auto FS1 = vfs::createPhysicalFileSystem();
auto FS2 = vfs::createPhysicalFileSystem();