summaryrefslogtreecommitdiff
path: root/src/pal/tests/palsuite/miscellaneous/GetEnvironmentVariableA/test3/test.c
blob: b51e139c95766c1d6ef0d52e9b823b06adf26636 (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
// 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 : test.c
**
** Purpose: Test for GetEnvironmentVariable() function
** Pass a nonexisting environment variable and a null to
** the function to check return values.
**
**
**=========================================================*/

#include <palsuite.h>

#define BUFFER_SIZE 5000
#define SMALL_BUFFER_SIZE 5

int __cdecl main(int argc, char *argv[]) 
{

    int ReturnValueForNonExisting = 0;
    int ReturnValueForNull = 0;

    char pResultBuffer[BUFFER_SIZE];
    char pSmallBuffer[SMALL_BUFFER_SIZE];

    if(0 != (PAL_Initialize(argc, argv)))
    {
        return FAIL;
    }

    /* This variable doesn't exist, it should return 0 */
    ReturnValueForNonExisting = GetEnvironmentVariable("NonExistingVariable",
                                                       pSmallBuffer,
                                                       SMALL_BUFFER_SIZE);

    if(ReturnValueForNonExisting != 0) 
    {
        Fail("ERROR: The return should have been 0, but it was %d.  "
             "The function attempted to get an Environment Variable that "
             "doesn't exist and should return 0 as a result.\n",
             ReturnValueForNonExisting);
    }
  
  
    /* Passing a NULL string should return 0 */
    ReturnValueForNull = GetEnvironmentVariable(NULL,
                                                pResultBuffer,
                                                BUFFER_SIZE);
  
    if(ReturnValueForNull != 0) 
    {
        Fail("ERROR: The return should have been 0, but it was %d.  "
             "The function attempted to get a NULL pointer and should return "
             "0 as a result.\n",ReturnValueForNull);
    
    }

    PAL_Terminate();
    return PASS;
  }