few more tests for the config subsystem

This commit is contained in:
Christian Thaeter 2008-08-07 14:55:17 +02:00
parent bb9f81c08d
commit eb60e71136
2 changed files with 14 additions and 11 deletions

View file

@ -34,31 +34,29 @@ PLANNED "complex saving user file" <<END
END END
TEST "number get" number_get <<END TEST "number get, default" number_get test.number.1 '1234567890 # comment' <<END
out: 1234567890 out: 1234567890
END END
export LUMIERA_TEST_NUMBER_1=987654321 export LUMIERA_TEST_NUMBER_1=987654321
TEST "number get, env override" number_get <<END TEST "number get, env override" number_get test.number.1 '1234567890 # comment' <<END
out: 987654321 out: 987654321
END END
export LUMIERA_TEST_NUMBER_1=barf export LUMIERA_TEST_NUMBER_1=barf
TEST "number get, type error" number_get_nodefault <<END TEST "number get, type error" number_get_nodefault test.number.1 <<END
out: LUMIERA_ERROR_CONFIG_TYPE:value has wrong type out: LUMIERA_ERROR_CONFIG_TYPE:value has wrong type
END END
unset LUMIERA_TEST_NUMBER_1 unset LUMIERA_TEST_NUMBER_1
TEST "number get, syntax error" number_get no:fun:blah '1234567890 # comment' <<END
PLANNED "number get, syntax error" number_get <<END out: LUMIERA_ERROR_CONFIG_SYNTAX_KEY:syntax error in key
END END
PLANNED "number get, default" number_get <<END TEST "number get, no default, no env" number_get_nodefault test.number.1 <<END
END out: LUMIERA_ERROR_CONFIG_NO_ENTRY:no configuration entry
PLANNED "number get, no default" number_get <<END
END END

View file

@ -37,11 +37,14 @@ TEST ("init")
TEST ("number_get") TEST ("number_get")
{ {
REQUIRE (argv[2]);
REQUIRE (argv[3]);
lumiera_config_init ("./"); lumiera_config_init ("./");
long long number = 0; long long number = 0;
if (!lumiera_config_number_get ("test.number.1", &number, "1234567890 # comment")) if (!lumiera_config_number_get (argv[2], &number, argv[3]))
printf ("%lld\n", number); printf ("%lld\n", number);
else else
printf ("%s\n", lumiera_error ()); printf ("%s\n", lumiera_error ());
@ -52,11 +55,13 @@ TEST ("number_get")
TEST ("number_get_nodefault") TEST ("number_get_nodefault")
{ {
REQUIRE (argv[2]);
lumiera_config_init ("./"); lumiera_config_init ("./");
long long number = 0; long long number = 0;
if (!lumiera_config_number_get ("test.number.1", &number, NULL)) if (!lumiera_config_number_get (argv[2], &number, NULL))
printf ("%lld\n", number); printf ("%lld\n", number);
else else
printf ("%s\n", lumiera_error ()); printf ("%s\n", lumiera_error ());