]>
git.ipfire.org Git - thirdparty/pdns.git/blob - pdns/test-arguments_cc.cc
1 #ifndef BOOST_TEST_DYN_LINK
2 #define BOOST_TEST_DYN_LINK
5 #define BOOST_TEST_NO_MAIN
11 #include <boost/test/unit_test.hpp>
12 #include "arguments.hh"
13 #include "namespaces.hh"
15 BOOST_AUTO_TEST_SUITE(test_arguments_cc
)
17 BOOST_AUTO_TEST_CASE(test_file_parse
) {
18 char path
[]="/tmp/pdns-test-conf.XXXXXX";
21 BOOST_FAIL("Unable to generate a temporary file");
27 test2=here # and here it stops
32 ssize_t len
=write(fd
, config
.c_str(), config
.size());
34 BOOST_CHECK_EQUAL(len
, static_cast<ssize_t
>(config
.size()));
41 for(auto& a
: {"launch", "test", "test2", "fail", "success", "really"} )
43 arg
.set("default", "default")="no";
47 BOOST_CHECK_EQUAL(arg
["launch"], "launch=1234");
48 BOOST_CHECK_EQUAL(arg
["test"], "123456");
49 BOOST_CHECK_EQUAL(arg
.asNum("test"), 123456);
50 BOOST_CHECK_EQUAL(arg
["test2"], "here");
51 BOOST_CHECK_EQUAL(arg
.mustDo("fail"), false);
52 BOOST_CHECK_EQUAL(arg
.mustDo("success"), true);
53 BOOST_CHECK_EQUAL(arg
.mustDo("really"), true);
54 BOOST_CHECK_EQUAL(arg
["default"], "no");
57 catch(PDNSException
& e
) {
59 cerr
<<"Exception: "<<e
.reason
<<endl
;
60 BOOST_FAIL("Exception: "+e
.reason
);
64 BOOST_AUTO_TEST_SUITE_END();