MCPcopy Create free account
hub / github.com/RavEngine/RavEngine / stdlib_getsetenv

Function stdlib_getsetenv

deps/SDL2/test/testautomation_stdlib.c:125–254  ·  view source on GitHub ↗

* @brief Call to SDL_getenv and SDL_setenv */

Source from the content-addressed store, hash-verified

123 * @brief Call to SDL_getenv and SDL_setenv
124 */
125int
126stdlib_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

Callers

nothing calls this directly

Calls 10

SDL_getenvFunction · 0.85
SDLTest_AssertPassFunction · 0.85
SDLTest_LogFunction · 0.85
SDL_strlenFunction · 0.85
SDL_setenvFunction · 0.85
SDLTest_AssertCheckFunction · 0.85
SDL_strcmpFunction · 0.85
SDL_freeFunction · 0.85

Tested by

no test coverage detected