summaryrefslogtreecommitdiffstats
path: root/lib/tests/test_utils.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/tests/test_utils.c')
-rw-r--r--lib/tests/test_utils.c56
1 files changed, 48 insertions, 8 deletions
diff --git a/lib/tests/test_utils.c b/lib/tests/test_utils.c
index 763392a..aae358f 100644
--- a/lib/tests/test_utils.c
+++ b/lib/tests/test_utils.c
@@ -33,9 +33,19 @@ main (int argc, char **argv)
33 state_data *temp_state_data; 33 state_data *temp_state_data;
34 time_t current_time; 34 time_t current_time;
35 char *temp_filename; 35 char *temp_filename;
36 nagios_plugin *temp_nagios_plugin;
36 37
37 plan_tests(81+23); 38 plan_tests(81+23);
38 39
40 _get_nagios_plugin( &temp_nagios_plugin );
41 ok( temp_nagios_plugin==NULL, "nagios_plugin not initialised");
42
43 np_init( "check_test" );
44 _get_nagios_plugin( &temp_nagios_plugin );
45 ok( temp_nagios_plugin!=NULL, "nagios_plugin now initialised");
46 ok( !strcmp(temp_nagios_plugin->plugin_name, "check_test"), "plugin name initialised" );
47
48
39 range = parse_range_string("6"); 49 range = parse_range_string("6");
40 ok( range != NULL, "'6' is valid range"); 50 ok( range != NULL, "'6' is valid range");
41 ok( range->start == 0, "Start correct"); 51 ok( range->start == 0, "Start correct");
@@ -257,33 +267,63 @@ main (int argc, char **argv)
257 ok(!test, "Empty string return NULL"); 267 ok(!test, "Empty string return NULL");
258 268
259 269
260 temp_string = np_state_generate_key(argv); 270 temp_string = (char *) _np_state_generate_key();
261 ok(!strcmp(temp_string, "Ahash"), "Got hash" ); 271 ok(!strcmp(temp_string, "Ahash"), "Got hash" );
262 272
263 temp_string = _np_state_calculate_location_prefix(); 273
274
275 unsetenv("NAGIOS_PLUGIN_STATE_DIRECTORY");
276 temp_string = (char *) _np_state_calculate_location_prefix();
264 ok(!strcmp(temp_string, NP_SHAREDSTATE_DIR), "Got default directory" ); 277 ok(!strcmp(temp_string, NP_SHAREDSTATE_DIR), "Got default directory" );
265 278
279 setenv("NAGIOS_PLUGIN_STATE_DIRECTORY", "", 1);
280 temp_string = (char *) _np_state_calculate_location_prefix();
281 ok(!strcmp(temp_string, NP_SHAREDSTATE_DIR), "Got default directory even with empty string" );
282
283 setenv("NAGIOS_PLUGIN_STATE_DIRECTORY", "/usr/local/nagios/var", 1);
284 temp_string = (char *) _np_state_calculate_location_prefix();
285 ok(!strcmp(temp_string, "/usr/local/nagios/var"), "Got default directory" );
286
287
288
266 ok(temp_state_key==NULL, "temp_state_key initially empty"); 289 ok(temp_state_key==NULL, "temp_state_key initially empty");
267 temp_state_key = np_state_init("check_test", temp_string, 54); 290
291 np_state_init(NULL, 51);
292 temp_state_key = temp_nagios_plugin->state;
268 ok( !strcmp(temp_state_key->plugin_name, "check_test"), "Got plugin name" ); 293 ok( !strcmp(temp_state_key->plugin_name, "check_test"), "Got plugin name" );
269 ok( !strcmp(temp_state_key->name, temp_string), "Got key name" ); 294 ok( !strcmp(temp_state_key->name, "Ahash"), "Got key name" );
295
296
297 printf("Filename=%s\n", temp_state_key->_filename);
298 np_state_init("funnykeyname", 54);
299 temp_state_key = temp_nagios_plugin->state;
300 ok( !strcmp(temp_state_key->plugin_name, "check_test"), "Got plugin name" );
301 ok( !strcmp(temp_state_key->name, "funnykeyname"), "Got key name" );
302
270 printf("Filename=%s\n", temp_state_key->_filename); 303 printf("Filename=%s\n", temp_state_key->_filename);
271 304
272 ok( !strcmp(temp_state_key->_filename, "Tobedone"), "Got internal filename" ); 305
306 ok( !strcmp(temp_state_key->_filename, "/usr/local/nagios/var/check_test/funnykeyname"), "Got internal filename" );
273 ok( temp_state_key->data_version==54, "Version set" ); 307 ok( temp_state_key->data_version==54, "Version set" );
274 308
275 temp_state_data = np_state_read(temp_state_key); 309 temp_state_data = np_state_read(temp_state_key);
276 ok( temp_state_data==NULL, "Got state data" ); 310 ok( temp_state_data==NULL, "Got no state data as file does not exist" );
311
312 temp_state_key->_filename="var/statefile";
313 temp_state_data = np_state_read(temp_state_key);
314 ok( temp_state_data!=NULL, "Got state data now" );
315
277 316
278 time(&current_time); 317 time(&current_time);
279 np_state_write_string(temp_state_key, NULL, "New data"); 318 np_state_write_string(NULL, "New data");
280 319
281 temp_state_data = np_state_read(temp_state_key); 320 temp_state_data = np_state_read(temp_state_key);
282 /* Check time is set to current_time */ 321 /* Check time is set to current_time */
283 322
284 323
285 np_state_cleanup(temp_state_key); 324 np_cleanup();
286 ok(temp_state_key==NULL, "temp_state_key cleared"); 325 ok(temp_state_key==NULL, "temp_state_key cleared");
326 ok( temp_nagios_plugin==NULL, "Reset" );
287 327
288 return exit_status(); 328 return exit_status();
289} 329}