]>
git.ipfire.org Git - thirdparty/pdns.git/blob - pdns/test-arguments_cc.cc
1 #define BOOST_TEST_DYN_LINK
2 #define BOOST_TEST_NO_MAIN
8 #include <boost/test/unit_test.hpp>
9 #include "arguments.hh"
10 #include "namespaces.hh"
12 BOOST_AUTO_TEST_SUITE(test_arguments_cc
)
14 BOOST_AUTO_TEST_CASE(test_file_parse
) {
15 char path
[]="/tmp/pdns-test-conf.XXXXXX";
18 BOOST_FAIL("Unable to generate a temporary file");
24 test2=here # and here it stops
29 int len
=write(fd
, config
.c_str(), config
.size());
31 BOOST_CHECK_EQUAL(len
, config
.size());
38 for(auto& a
: {"launch", "test", "test2", "fail", "success", "really"} )
40 arg
.set("default", "default")="no";
44 BOOST_CHECK_EQUAL(arg
["launch"], "launch=1234");
45 BOOST_CHECK_EQUAL(arg
["test"], "123456");
46 BOOST_CHECK_EQUAL(arg
.asNum("test"), 123456);
47 BOOST_CHECK_EQUAL(arg
["test2"], "here");
48 BOOST_CHECK_EQUAL(arg
.mustDo("fail"), false);
49 BOOST_CHECK_EQUAL(arg
.mustDo("success"), true);
50 BOOST_CHECK_EQUAL(arg
.mustDo("really"), true);
51 BOOST_CHECK_EQUAL(arg
["default"], "no");
54 catch(PDNSException
& e
) {
56 cerr
<<"Exception: "<<e
.reason
<<endl
;
57 BOOST_FAIL("Exception: "+e
.reason
);
61 BOOST_AUTO_TEST_SUITE_END();