* @brief Call to SDL_getenv and SDL_setenv */
| 123 | * @brief Call to SDL_getenv and SDL_setenv |
| 124 | */ |
| 125 | int |
| 126 | stdlib_getsetenv(void *arg) |
| 127 | { |
| 128 | const int nameLen = 16; |
| 129 | char name[17]; |
| 130 | int counter; |
| 131 | int result; |
| 132 | char * value1; |
| 133 | char * value2; |
| 134 | char * expected; |
| 135 | int overwrite; |
| 136 | char * text; |
| 137 | |
| 138 | /* Create a random name. This tests SDL_getenv, since we need to */ |
| 139 | /* make sure the variable is not set yet (it shouldn't). */ |
| 140 | do { |
| 141 | for(counter = 0; counter < nameLen; counter++) { |
| 142 | name[counter] = (char)SDLTest_RandomIntegerInRange(65, 90); |
| 143 | } |
| 144 | name[nameLen] = '\0'; |
| 145 | |
| 146 | text = SDL_getenv(name); |
| 147 | SDLTest_AssertPass("Call to SDL_getenv('%s')", name); |
| 148 | if (text != NULL) { |
| 149 | SDLTest_Log("Expected: NULL, Got: '%s' (%i)", text, (int) SDL_strlen(text)); |
| 150 | } |
| 151 | } while (text != NULL); |
| 152 | |
| 153 | /* Create random values to set */ |
| 154 | value1 = SDLTest_RandomAsciiStringOfSize(10); |
| 155 | value2 = SDLTest_RandomAsciiStringOfSize(10); |
| 156 | |
| 157 | /* Set value 1 without overwrite */ |
| 158 | overwrite = 0; |
| 159 | expected = value1; |
| 160 | result = SDL_setenv(name, value1, overwrite); |
| 161 | SDLTest_AssertPass("Call to SDL_setenv('%s','%s', %i)", name, value1, overwrite); |
| 162 | SDLTest_AssertCheck(result == 0, "Check result, expected: 0, got: %i", result); |
| 163 | |
| 164 | /* Check value */ |
| 165 | text = SDL_getenv(name); |
| 166 | SDLTest_AssertPass("Call to SDL_getenv('%s')", name); |
| 167 | SDLTest_AssertCheck(text != NULL, "Verify returned text is not NULL"); |
| 168 | if (text != NULL) { |
| 169 | SDLTest_AssertCheck( |
| 170 | SDL_strcmp(text, expected) == 0, |
| 171 | "Verify returned text, expected: %s, got: %s", |
| 172 | expected, |
| 173 | text); |
| 174 | } |
| 175 | |
| 176 | /* Set value 2 with overwrite */ |
| 177 | overwrite = 1; |
| 178 | expected = value2; |
| 179 | result = SDL_setenv(name, value2, overwrite); |
| 180 | SDLTest_AssertPass("Call to SDL_setenv('%s','%s', %i)", name, value2, overwrite); |
| 181 | SDLTest_AssertCheck(result == 0, "Check result, expected: 0, got: %i", result); |
| 182 |
nothing calls this directly
no test coverage detected