|
7 | 7 | //===----------------------------------------------------------------------===// |
8 | 8 |
|
9 | 9 | #include "src/stdlib/getenv.h" |
| 10 | +#include "src/string/strcmp.h" |
10 | 11 |
|
11 | 12 | #include "test/IntegrationTest/test.h" |
12 | 13 |
|
13 | | -static bool my_streq(const char *lhs, const char *rhs) { |
14 | | - if (lhs == rhs) |
15 | | - return true; |
16 | | - if (((lhs == static_cast<char *>(nullptr)) && |
17 | | - (rhs != static_cast<char *>(nullptr))) || |
18 | | - ((lhs != static_cast<char *>(nullptr)) && |
19 | | - (rhs == static_cast<char *>(nullptr)))) { |
20 | | - return false; |
21 | | - } |
22 | | - const char *l, *r; |
23 | | - for (l = lhs, r = rhs; *l != '\0' && *r != '\0'; ++l, ++r) |
24 | | - if (*l != *r) |
25 | | - return false; |
26 | | - |
27 | | - return *l == '\0' && *r == '\0'; |
28 | | -} |
29 | | - |
30 | 14 | TEST_MAIN([[maybe_unused]] int argc, [[maybe_unused]] char **argv, |
31 | 15 | [[maybe_unused]] char **envp) { |
32 | | - ASSERT_TRUE( |
33 | | - my_streq(LIBC_NAMESPACE::getenv(""), static_cast<char *>(nullptr))); |
34 | | - ASSERT_TRUE( |
35 | | - my_streq(LIBC_NAMESPACE::getenv("="), static_cast<char *>(nullptr))); |
36 | | - ASSERT_TRUE(my_streq(LIBC_NAMESPACE::getenv("MISSING ENV VARIABLE"), |
37 | | - static_cast<char *>(nullptr))); |
38 | | - ASSERT_FALSE( |
39 | | - my_streq(LIBC_NAMESPACE::getenv("PATH"), static_cast<char *>(nullptr))); |
40 | | - ASSERT_TRUE(my_streq(LIBC_NAMESPACE::getenv("FRANCE"), "Paris")); |
41 | | - ASSERT_FALSE(my_streq(LIBC_NAMESPACE::getenv("FRANCE"), "Berlin")); |
42 | | - ASSERT_TRUE(my_streq(LIBC_NAMESPACE::getenv("GERMANY"), "Berlin")); |
43 | | - ASSERT_TRUE( |
44 | | - my_streq(LIBC_NAMESPACE::getenv("FRANC"), static_cast<char *>(nullptr))); |
45 | | - ASSERT_TRUE(my_streq(LIBC_NAMESPACE::getenv("FRANCE1"), |
46 | | - static_cast<char *>(nullptr))); |
| 16 | + ASSERT_TRUE(LIBC_NAMESPACE::getenv("") == nullptr); |
| 17 | + ASSERT_TRUE(LIBC_NAMESPACE::getenv("=") == nullptr); |
| 18 | + ASSERT_TRUE(LIBC_NAMESPACE::getenv("MISSING ENV VARIABLE") == nullptr); |
| 19 | + ASSERT_FALSE(LIBC_NAMESPACE::getenv("PATH") == nullptr); |
| 20 | + ASSERT_EQ(LIBC_NAMESPACE::strcmp(LIBC_NAMESPACE::getenv("FRANCE"), "Paris"), |
| 21 | + 0); |
| 22 | + ASSERT_NE(LIBC_NAMESPACE::strcmp(LIBC_NAMESPACE::getenv("FRANCE"), "Berlin"), |
| 23 | + 0); |
| 24 | + ASSERT_EQ(LIBC_NAMESPACE::strcmp(LIBC_NAMESPACE::getenv("GERMANY"), "Berlin"), |
| 25 | + 0); |
| 26 | + ASSERT_TRUE(LIBC_NAMESPACE::getenv("FRANC") == nullptr); |
| 27 | + ASSERT_TRUE(LIBC_NAMESPACE::getenv("FRANCE1") == nullptr); |
47 | 28 |
|
48 | 29 | return 0; |
49 | 30 | } |
0 commit comments