39 lines · cpp
1//===-- Loader test to check args to main ---------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9#include "test/IntegrationTest/test.h"10 11static bool my_streq(const char *lhs, const char *rhs) {12 const char *l, *r;13 for (l = lhs, r = rhs; *l != '\0' && *r != '\0'; ++l, ++r)14 if (*l != *r)15 return false;16 17 return *l == '\0' && *r == '\0';18}19 20TEST_MAIN(int argc, char **argv, char **envp) {21 ASSERT_TRUE(argc == 4);22 ASSERT_TRUE(my_streq(argv[1], "1"));23 ASSERT_TRUE(my_streq(argv[2], "2"));24 ASSERT_TRUE(my_streq(argv[3], "3"));25 26 bool found_france = false;27 bool found_germany = false;28 for (; *envp != nullptr; ++envp) {29 if (my_streq(*envp, "FRANCE=Paris"))30 found_france = true;31 if (my_streq(*envp, "GERMANY=Berlin"))32 found_germany = true;33 }34 35 ASSERT_TRUE(found_france && found_germany);36 37 return 0;38}39