blob: 4d6fbeb9642bf44d0e2314a6870bc7f5a2df09b9 [file] [log] [blame]
/*
* Copyright 2015 The Native Client Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "native_client/src/include/nacl_assert.h"
int main(int argc, char *argv[], char *envp[]) {
const char *env_var = getenv("FOO");
if (strcmp(argv[1], "with_p") == 0) {
ASSERT_NE_MSG(env_var, NULL, "expected FOO=bar");
ASSERT_EQ_MSG(strcmp(env_var, "bar"), 0, "error: expected FOO=bar");
} else if (strcmp(argv[1], "with_p_override") == 0) {
int nfound = 0;
const char *last_found = NULL;
for (char **ep = envp; *ep != NULL; ++ep) {
if (strncmp(*ep, "FOO=", 4) == 0) {
++nfound;
last_found = *ep + 4;
}
}
ASSERT_EQ_MSG(nfound, 1, "expected exactly one FOO variable");
ASSERT_EQ_MSG(last_found, env_var,
"expected getenv(\"FOO\") to find FOO");
ASSERT_EQ_MSG(strcmp(env_var, "bar"), 0, "error: expected FOO=bar");
} else {
ASSERT_EQ_MSG(env_var, NULL, "FOO set in environment");
}
return 0;
}