[nagiosplug] Use NP_STATE_DIR_PREFIX as compile variable
Ton Voon
tonvoon at users.sourceforge.net
Tue Jun 22 12:50:41 CEST 2010
Module: nagiosplug
Branch: ton/state
Commit: 9de4938ba85d5afd53e08f6a8e90fa4c477704fc
Author: Ton Voon <ton.voon at opsera.com>
Date: Mon Jun 21 20:43:33 2010 +0100
URL: http://nagiosplug.git.sf.net/git/gitweb.cgi?p=nagiosplug/nagiosplug;a=commit;h=9de4938
Use NP_STATE_DIR_PREFIX as compile variable
---
lib/Makefile.am | 2 +
lib/tests/Makefile.am | 3 ++
lib/tests/test_utils.c | 52 ++++++++++++++++++++++++------------------------
lib/utils_base.c | 2 +-
lib/utils_base.h | 1 -
5 files changed, 32 insertions(+), 28 deletions(-)
diff --git a/lib/Makefile.am b/lib/Makefile.am
index 17e4c1b..1c7e7e7 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -4,6 +4,8 @@ SUBDIRS = . tests
noinst_LIBRARIES = libnagiosplug.a
+# Not sure how to set this in config.h
+DEFS = -DNP_STATE_DIR_PREFIX='"$(localstatedir)"'
libnagiosplug_a_SOURCES = utils_base.c utils_disk.c utils_tcp.c utils_cmd.c
EXTRA_DIST = utils_base.h utils_disk.h utils_tcp.h utils_cmd.h parse_ini.h extra_opts.h
diff --git a/lib/tests/Makefile.am b/lib/tests/Makefile.am
index 694baf0..3112020 100644
--- a/lib/tests/Makefile.am
+++ b/lib/tests/Makefile.am
@@ -5,6 +5,9 @@ noinst_PROGRAMS = @EXTRA_TEST@
TESTS = @EXTRA_TEST@
check_PROGRAMS = @EXTRA_TEST@
+# See lib/Makefile.am
+DEFS = -DNP_STATE_DIR_PREFIX='"$(localstatedir)"'
+
INCLUDES = -I$(top_srcdir)/lib -I$(top_srcdir)/gl -I$(top_srcdir)/intl -I$(top_srcdir)/plugins
EXTRA_PROGRAMS = test_utils test_disk test_tcp test_cmd test_base64 test_ini1 test_ini3 test_opts1 test_opts2 test_opts3
diff --git a/lib/tests/test_utils.c b/lib/tests/test_utils.c
index ccc4a52..ce79fc6 100644
--- a/lib/tests/test_utils.c
+++ b/lib/tests/test_utils.c
@@ -24,6 +24,8 @@
#include <sys/types.h>
#include <sys/stat.h>
+#include "utils_base.c"
+
int
main (int argc, char **argv)
{
@@ -36,19 +38,16 @@ main (int argc, char **argv)
state_data *temp_state_data;
time_t current_time;
char *temp_filename;
- nagios_plugin *temp_nagios_plugin;
FILE *temp_fp;
- plan_tests(138);
+ plan_tests(137);
- _get_nagios_plugin( &temp_nagios_plugin );
- ok( temp_nagios_plugin==NULL, "nagios_plugin not initialised");
+ ok( this_nagios_plugin==NULL, "nagios_plugin not initialised");
np_init( "check_test", argc, argv );
- _get_nagios_plugin( &temp_nagios_plugin );
- ok( temp_nagios_plugin!=NULL, "nagios_plugin now initialised");
- ok( !strcmp(temp_nagios_plugin->plugin_name, "check_test"), "plugin name initialised" );
+ ok( this_nagios_plugin!=NULL, "nagios_plugin now initialised");
+ ok( !strcmp(this_nagios_plugin->plugin_name, "check_test"), "plugin name initialised" );
range = parse_range_string("6");
@@ -277,21 +276,21 @@ main (int argc, char **argv)
ok(!strcmp(temp_string, "83d877b6cdfefb5d6f06101fd6fe76762f21792c"), "Got hash with exe and no parameters" );
- temp_nagios_plugin->argc=4;
- temp_nagios_plugin->argv[0] = "./test_utils";
- temp_nagios_plugin->argv[1] = "here";
- temp_nagios_plugin->argv[2] = "--and";
- temp_nagios_plugin->argv[3] = "now";
+ this_nagios_plugin->argc=4;
+ this_nagios_plugin->argv[0] = "./test_utils";
+ this_nagios_plugin->argv[1] = "here";
+ this_nagios_plugin->argv[2] = "--and";
+ this_nagios_plugin->argv[3] = "now";
temp_string = (char *) _np_state_generate_key();
ok(!strcmp(temp_string, "94b5e17bf5abf51cb15aff5f69b96f2f8dac5ecd"), "Got based on expected argv" );
unsetenv("NAGIOS_PLUGIN_STATE_DIRECTORY");
temp_string = (char *) _np_state_calculate_location_prefix();
- ok(!strcmp(temp_string, NP_SHAREDSTATE_DIR), "Got default directory" );
+ ok(!strcmp(temp_string, NP_STATE_DIR_PREFIX), "Got default directory" );
setenv("NAGIOS_PLUGIN_STATE_DIRECTORY", "", 1);
temp_string = (char *) _np_state_calculate_location_prefix();
- ok(!strcmp(temp_string, NP_SHAREDSTATE_DIR), "Got default directory even with empty string" );
+ ok(!strcmp(temp_string, NP_STATE_DIR_PREFIX), "Got default directory even with empty string" );
setenv("NAGIOS_PLUGIN_STATE_DIRECTORY", "/usr/local/nagios/var", 1);
temp_string = (char *) _np_state_calculate_location_prefix();
@@ -301,22 +300,22 @@ main (int argc, char **argv)
ok(temp_state_key==NULL, "temp_state_key initially empty");
- temp_nagios_plugin->argc=1;
- temp_nagios_plugin->argv[0] = "./test_utils";
+ this_nagios_plugin->argc=1;
+ this_nagios_plugin->argv[0] = "./test_utils";
np_enable_state(NULL, 51);
- temp_state_key = temp_nagios_plugin->state;
+ temp_state_key = this_nagios_plugin->state;
ok( !strcmp(temp_state_key->plugin_name, "check_test"), "Got plugin name" );
ok( !strcmp(temp_state_key->name, "83d877b6cdfefb5d6f06101fd6fe76762f21792c"), "Got generated filename" );
np_enable_state("bad^chars$in at here", 77);
- temp_state_key = temp_nagios_plugin->state;
+ temp_state_key = this_nagios_plugin->state;
ok( !strcmp(temp_state_key->plugin_name, "check_test"), "Got plugin name" );
ok( !strcmp(temp_state_key->name, "bad_chars_in_here"), "Got key name with bad chars replaced" );
ok( !strcmp(temp_state_key->_filename, "/usr/local/nagios/var/check_test/bad_chars_in_here"), "Got internal filename" );
np_enable_state("funnykeyname", 54);
- temp_state_key = temp_nagios_plugin->state;
+ temp_state_key = this_nagios_plugin->state;
ok( !strcmp(temp_state_key->plugin_name, "check_test"), "Got plugin name" );
ok( !strcmp(temp_state_key->name, "funnykeyname"), "Got key name" );
@@ -340,9 +339,9 @@ main (int argc, char **argv)
temp_state_key->_filename="var/statefile";
temp_state_data = np_state_read(temp_state_key);
- ok( temp_nagios_plugin->state->state_data!=NULL, "Got state data now" );
- ok( temp_nagios_plugin->state->state_data->time==1234567890, "Got time" );
- ok( !strcmp((char *)temp_nagios_plugin->state->state_data->data, "String to read"), "Data as expected" );
+ ok( this_nagios_plugin->state->state_data!=NULL, "Got state data now" );
+ ok( this_nagios_plugin->state->state_data->time==1234567890, "Got time" );
+ ok( !strcmp((char *)this_nagios_plugin->state->state_data->data, "String to read"), "Data as expected" );
temp_state_key->data_version=53;
temp_state_data = np_state_read(temp_state_key);
@@ -352,7 +351,7 @@ main (int argc, char **argv)
temp_state_key->_filename="var/nonexistant";
temp_state_data = np_state_read(temp_state_key);
ok( temp_state_data==NULL, "Missing file gives NULL" );
- ok( temp_nagios_plugin->state->state_data==NULL, "No state information" );
+ ok( this_nagios_plugin->state->state_data==NULL, "No state information" );
temp_state_key->_filename="var/oldformat";
temp_state_data = np_state_read(temp_state_key);
@@ -399,7 +398,7 @@ main (int argc, char **argv)
temp_state_data = np_state_read(temp_state_key);
/* Check time is set to current_time */
ok(system("cmp var/generated var/statefile > /dev/null")!=0, "Generated file should be different this time");
- ok(temp_nagios_plugin->state->state_data->time-current_time<=1, "Has time generated from current time");
+ ok(this_nagios_plugin->state->state_data->time-current_time<=1, "Has time generated from current time");
/* Don't know how to automatically test this. Need to be able to redefine die and catch the error */
@@ -410,8 +409,9 @@ main (int argc, char **argv)
np_cleanup();
- ok(temp_state_key==NULL, "temp_state_key cleared");
- ok( temp_nagios_plugin==NULL, "Reset" );
+
+ ok( this_nagios_plugin==NULL, "Free'd this_nagios_plugin" );
return exit_status();
}
+
diff --git a/lib/utils_base.c b/lib/utils_base.c
index 1234e25..7027917 100644
--- a/lib/utils_base.c
+++ b/lib/utils_base.c
@@ -403,7 +403,7 @@ char* _np_state_calculate_location_prefix(){
env_dir = getenv("NAGIOS_PLUGIN_STATE_DIRECTORY");
if(env_dir && env_dir[0] != '\0')
return env_dir;
- return NP_SHAREDSTATE_DIR;
+ return NP_STATE_DIR_PREFIX;
}
/*
diff --git a/lib/utils_base.h b/lib/utils_base.h
index 0037b7b..2fbdfbe 100644
--- a/lib/utils_base.h
+++ b/lib/utils_base.h
@@ -30,7 +30,6 @@ typedef struct thresholds_struct {
range *critical;
} thresholds;
-#define NP_SHAREDSTATE_DIR "/tmp"
#define NP_STATE_FORMAT_VERSION 1
typedef struct state_data_struct {
More information about the Commits
mailing list