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