blob: 0fb9025c8f2195522cb416af2176727700bd7360 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
/*=====================================================================
**
** Source: test1.c
**
** Purpose: Create an environment variable and then use getenv to get
** a pointer to it. Check that the pointer is valid and that the string
** is what we expected. Also check that searching for a non-existent
** variable will cause getenv to return NULL. Also check that function
** passes when the parameter has it's casing changed (e.g upper case)
**
**
**===================================================================*/
#include <palsuite.h>
int __cdecl main(int argc, char **argv)
{
const char* SetVariable = "PalTestingEnvironmentVariable=The value";
const char* VariableName = "PalTestingEnvironmentVariable";
const char* VariableValue = "The value";
char* result;
if (0 != (PAL_Initialize(argc, argv)))
{
return FAIL;
}
/* Use _putenv to set an environment variable. This ensures that the
variable we're testing on is always present.
*/
if(_putenv(SetVariable) == -1)
{
Fail("ERROR: _putenv failed to set an environment variable that "
"getenv will be using for testing.\n");
}
/* Call getenv -- ensure it doesn't return NULL and the string it returns
is the value we set above.
*/
result = getenv(VariableName);
if(result == NULL)
{
Fail("ERROR: The result of getenv on a valid Environment Variable "
"was NULL, which indicates the environment varaible was not "
"found.\n");
}
if(strcmp(result, VariableValue) != 0)
{
Fail("ERROR: The value obtained by getenv() was not equal to the "
"correct value of the environment variable. The correct "
"value is '%s' and the function returned '%s'.\n",
VariableValue,
result);
}
/* Try calling getenv on an environment variable which doesn't
exist.
*/
result = getenv("SomeEnvironmentVariableThatReallyDoesNotExist");
if(result != NULL)
{
Fail("ERROR: Called getenv on an environment variable which "
"doesn't exist and it returned '%s' instead of NULL.\n",result);
}
PAL_Terminate();
return PASS;
}
|