glib/tests/list-env.c
author hgs
Thu, 05 Aug 2010 23:23:13 +0530
changeset 50 79045913e4e9
child 72 403e7f6ed6c5
permissions -rw-r--r--
201031
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
50
hgs
parents:
diff changeset
     1
// Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     2
// All rights reserved.
hgs
parents:
diff changeset
     3
// This component and the accompanying materials are made available
hgs
parents:
diff changeset
     4
// under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     5
// which accompanies this distribution, and is available
hgs
parents:
diff changeset
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     7
//
hgs
parents:
diff changeset
     8
// Initial Contributors:
hgs
parents:
diff changeset
     9
// Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    10
//
hgs
parents:
diff changeset
    11
// Contributors:
hgs
parents:
diff changeset
    12
//
hgs
parents:
diff changeset
    13
// Description:
hgs
parents:
diff changeset
    14
//
hgs
parents:
diff changeset
    15
hgs
parents:
diff changeset
    16
#undef G_DISABLE_ASSERT
hgs
parents:
diff changeset
    17
#undef G_LOG_DOMAIN
hgs
parents:
diff changeset
    18
hgs
parents:
diff changeset
    19
#include <glib.h>
hgs
parents:
diff changeset
    20
#include <errno.h>
hgs
parents:
diff changeset
    21
#define LOG_FILE "c:\\logs\\list_env_log.txt"
hgs
parents:
diff changeset
    22
#include "std_log_result.h"
hgs
parents:
diff changeset
    23
#define LOG_FILENAME_LINE __FILE__, __LINE__
hgs
parents:
diff changeset
    24
hgs
parents:
diff changeset
    25
void create_xml(int result)
hgs
parents:
diff changeset
    26
{
hgs
parents:
diff changeset
    27
    if(result)
hgs
parents:
diff changeset
    28
        assert_failed = 1;
hgs
parents:
diff changeset
    29
    
hgs
parents:
diff changeset
    30
    testResultXml("list_env_log");
hgs
parents:
diff changeset
    31
    close_log_file();
hgs
parents:
diff changeset
    32
}
hgs
parents:
diff changeset
    33
hgs
parents:
diff changeset
    34
int main (int argc, char *argv[])
hgs
parents:
diff changeset
    35
{
hgs
parents:
diff changeset
    36
    const gchar *variable1 = "TEST_VAR1";
hgs
parents:
diff changeset
    37
    gchar *value1 = "testvalue1";
hgs
parents:
diff changeset
    38
    const gchar *variable2 = "TEST_VAR2";
hgs
parents:
diff changeset
    39
    gchar *value2 = "testvalue2";
hgs
parents:
diff changeset
    40
    gchar **env_list;
hgs
parents:
diff changeset
    41
    gint i, found = 0;
hgs
parents:
diff changeset
    42
    guint no_of_variables =0;
hgs
parents:
diff changeset
    43
    gboolean found_var1 = 0,  found_var2 = 0;
hgs
parents:
diff changeset
    44
    	
hgs
parents:
diff changeset
    45
    if(g_setenv (variable1, value1, TRUE) && g_setenv (variable2, value2, TRUE))
hgs
parents:
diff changeset
    46
        {
hgs
parents:
diff changeset
    47
        env_list = g_listenv();
hgs
parents:
diff changeset
    48
        
hgs
parents:
diff changeset
    49
        if(env_list)
hgs
parents:
diff changeset
    50
            {
hgs
parents:
diff changeset
    51
            no_of_variables = g_strv_length(env_list);
hgs
parents:
diff changeset
    52
            
hgs
parents:
diff changeset
    53
            if(no_of_variables)
hgs
parents:
diff changeset
    54
                {
hgs
parents:
diff changeset
    55
                for(i = 0; i<no_of_variables; i++)
hgs
parents:
diff changeset
    56
                    {
hgs
parents:
diff changeset
    57
                    gchar *data = env_list[i];
hgs
parents:
diff changeset
    58
                    
hgs
parents:
diff changeset
    59
                    if(g_strcmp0(data, variable1) == 0)
hgs
parents:
diff changeset
    60
                        found_var1 = 1;
hgs
parents:
diff changeset
    61
                    else if(g_strcmp0(data, variable2) == 0)
hgs
parents:
diff changeset
    62
                        found_var2 = 1;
hgs
parents:
diff changeset
    63
                    }
hgs
parents:
diff changeset
    64
                
hgs
parents:
diff changeset
    65
                if(!(found_var1 && found_var2))
hgs
parents:
diff changeset
    66
                    {
hgs
parents:
diff changeset
    67
                    std_log(LOG_FILENAME_LINE, "g_listenv failed");
hgs
parents:
diff changeset
    68
                    assert_failed = 1;
hgs
parents:
diff changeset
    69
                    }
hgs
parents:
diff changeset
    70
                }
hgs
parents:
diff changeset
    71
            else
hgs
parents:
diff changeset
    72
                {
hgs
parents:
diff changeset
    73
                std_log(LOG_FILENAME_LINE, "g_listenv returned list is of length 0");
hgs
parents:
diff changeset
    74
                assert_failed = 1;
hgs
parents:
diff changeset
    75
                }
hgs
parents:
diff changeset
    76
            
hgs
parents:
diff changeset
    77
            g_strfreev(env_list);
hgs
parents:
diff changeset
    78
            }
hgs
parents:
diff changeset
    79
        else
hgs
parents:
diff changeset
    80
            {
hgs
parents:
diff changeset
    81
            std_log(LOG_FILENAME_LINE, "g_listenv returned NULL");
hgs
parents:
diff changeset
    82
            assert_failed = 1;
hgs
parents:
diff changeset
    83
            }
hgs
parents:
diff changeset
    84
        }
hgs
parents:
diff changeset
    85
    else
hgs
parents:
diff changeset
    86
        {
hgs
parents:
diff changeset
    87
        std_log(LOG_FILENAME_LINE, "setting env variable failed. errno = %d", errno);
hgs
parents:
diff changeset
    88
        }
hgs
parents:
diff changeset
    89
    
hgs
parents:
diff changeset
    90
    if(assert_failed)
hgs
parents:
diff changeset
    91
          std_log(LOG_FILENAME_LINE,"Test Failed");
hgs
parents:
diff changeset
    92
    else
hgs
parents:
diff changeset
    93
          std_log(LOG_FILENAME_LINE,"Test Successful");
hgs
parents:
diff changeset
    94
	
hgs
parents:
diff changeset
    95
    create_xml(0);
hgs
parents:
diff changeset
    96
hgs
parents:
diff changeset
    97
	return 0;
hgs
parents:
diff changeset
    98
}