summaryrefslogtreecommitdiff
path: root/src/pal/tests/palsuite/pal_specific/PAL_get_stderr/test1/PAL_get_stderr.c
blob: da534601012e079ec37aba0d1ce8817523fc1e38 (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
// 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: pal_get_stderr.c
**
** Purpose: Positive test the PAL_get_stderr API.
**          Call PAL_get_stderr to retrieve the PAL standard error
**          output stream pointer.
**          This test case should be run manually and automatically.
**          

**
**============================================================*/
#include <palsuite.h>

int __cdecl main(int argc, char *argv[])
{
    int err;
    FILE *pPAL_stderr = NULL;  
    const char *pMsg = "\nThis is a PAL_get_stderr test message, "
                    "not an error message!\n";

    /*Initialize the PAL environment*/
    err = PAL_Initialize(argc, argv);
    if(0 != err)
    {
        return FAIL;
    }

    /*retrieve the PAL standard error output stream pointer*/
    pPAL_stderr = PAL_get_stderr();  

    if(NULL == pPAL_stderr)
    {
        Fail("\nFailed to call PAL_get_stderr API, error code = %u\n",
                GetLastError());
    }    
    
    /*output a test message through PAL standard error stream*/    
    err = fputs(pMsg, pPAL_stderr);
    if(EOF == err)
    {
        Fail("\nFailed to call fputs to output message to PAL stdandard "
                "error stream, error code=%u\n", GetLastError());
    }

    PAL_Terminate();
    return PASS;
}