A small collection of utils called osutils has been added. These utils are now used in loader tests instead of the equivalent entrypoints. The loader can now be built and tested without depending on any entrypoint. In a follow up change, the relevent entrypoints will be updated to use the newly added osutils. Reviewed By: lntue, michaelrj Differential Revision: https://reviews.llvm.org/D115655
39 lines
1.1 KiB
C++
39 lines
1.1 KiB
C++
//===-- Loader test to check args to main ---------------------------------===//
|
|
//
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#include "loader_test.h"
|
|
|
|
static bool my_streq(const char *lhs, const char *rhs) {
|
|
const char *l, *r;
|
|
for (l = lhs, r = rhs; *l != '\0' && *r != '\0'; ++l, ++r)
|
|
if (*l != *r)
|
|
return false;
|
|
|
|
return *l == '\0' && *r == '\0';
|
|
}
|
|
|
|
int main(int argc, char **argv, char **envp) {
|
|
ASSERT_TRUE(argc == 4);
|
|
ASSERT_TRUE(my_streq(argv[1], "1"));
|
|
ASSERT_TRUE(my_streq(argv[2], "2"));
|
|
ASSERT_TRUE(my_streq(argv[3], "3"));
|
|
|
|
bool found_france = false;
|
|
bool found_germany = false;
|
|
for (; *envp != nullptr; ++envp) {
|
|
if (my_streq(*envp, "FRANCE=Paris"))
|
|
found_france = true;
|
|
if (my_streq(*envp, "GERMANY=Berlin"))
|
|
found_germany = true;
|
|
}
|
|
|
|
ASSERT_TRUE(found_france && found_germany);
|
|
|
|
return 0;
|
|
}
|