Fix a compile failure introduced by r82675 on MinGW which doesn't have
setenv(). This patch just disables the test rather than getting putenv() to
work. Thanks to Sandeep Patel for reporting the problem.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82797 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/unittests/Support/CommandLineTest.cpp b/unittests/Support/CommandLineTest.cpp
index 70d6950..72fa24a 100644
--- a/unittests/Support/CommandLineTest.cpp
+++ b/unittests/Support/CommandLineTest.cpp
@@ -8,6 +8,7 @@
//===----------------------------------------------------------------------===//
#include "llvm/Support/CommandLine.h"
+#include "llvm/Config/config.h"
#include "gtest/gtest.h"
@@ -24,17 +25,26 @@
: name(name) {
const char *old_value = getenv(name);
EXPECT_EQ(NULL, old_value) << old_value;
+#if HAVE_SETENV
setenv(name, value, true);
+#else
+# define SKIP_ENVIRONMENT_TESTS
+#endif
}
~TempEnvVar() {
+#if HAVE_SETENV
+ // Assume setenv and unsetenv come together.
unsetenv(name);
+#endif
}
private:
const char *const name;
};
+#ifndef SKIP_ENVIRONMENT_TESTS
+
const char test_env_var[] = "LLVM_TEST_COMMAND_LINE_FLAGS";
cl::opt<std::string> EnvironmentTestOption("env-test-opt");
@@ -45,4 +55,6 @@
EXPECT_EQ("hello", EnvironmentTestOption);
}
+#endif // SKIP_ENVIRONMENT_TESTS
+
} // anonymous namespace