8 #include <boost/test/unit_test.hpp>
22 BOOST_TEST_MESSAGE(std::string(
"CheckSplitTorReplyLine(") + input +
")");
32 "PROTOCOLINFO PIVERSION",
33 "PROTOCOLINFO",
"PIVERSION");
35 "AUTH METHODS=COOKIE,SAFECOOKIE COOKIEFILE=\"/home/x/.tor/control_auth_cookie\"",
36 "AUTH",
"METHODS=COOKIE,SAFECOOKIE COOKIEFILE=\"/home/x/.tor/control_auth_cookie\"");
39 "AUTH",
"METHODS=NULL");
41 "AUTH METHODS=HASHEDPASSWORD",
42 "AUTH",
"METHODS=HASHEDPASSWORD");
44 "VERSION Tor=\"0.2.9.8 (git-a0df013ea241b026)\"",
45 "VERSION",
"Tor=\"0.2.9.8 (git-a0df013ea241b026)\"");
47 "AUTHCHALLENGE SERVERHASH=aaaa SERVERNONCE=bbbb",
48 "AUTHCHALLENGE",
"SERVERHASH=aaaa SERVERNONCE=bbbb");
63 BOOST_TEST_MESSAGE(std::string(
"CheckParseTorReplyMapping(") + input +
")");
66 auto r_it = ret.begin();
67 auto e_it = expected.begin();
68 while (r_it != ret.end() && e_it != expected.end()) {
80 "METHODS=COOKIE,SAFECOOKIE COOKIEFILE=\"/home/x/.tor/control_auth_cookie\"", {
81 {
"METHODS",
"COOKIE,SAFECOOKIE"},
82 {
"COOKIEFILE",
"/home/x/.tor/control_auth_cookie"},
89 "METHODS=HASHEDPASSWORD", {
90 {
"METHODS",
"HASHEDPASSWORD"},
93 "Tor=\"0.2.9.8 (git-a0df013ea241b026)\"", {
94 {
"Tor",
"0.2.9.8 (git-a0df013ea241b026)"},
97 "SERVERHASH=aaaa SERVERNONCE=bbbb", {
98 {
"SERVERHASH",
"aaaa"},
99 {
"SERVERNONCE",
"bbbb"},
102 "ServiceID=exampleonion1234", {
103 {
"ServiceID",
"exampleonion1234"},
106 "PrivateKey=RSA1024:BLOB", {
107 {
"PrivateKey",
"RSA1024:BLOB"},
110 "ClientAuth=bob:BLOB", {
111 {
"ClientAuth",
"bob:BLOB"},
116 "Foo=Bar=Baz Spam=Eggs", {
131 "Foo=\"Bar\\ Baz\"", {
135 "Foo=\"Bar\\Baz\"", {
139 "Foo=\"Bar\\@Baz\"", {
143 "Foo=\"Bar\\\"Baz\" Spam=\"\\\"Eggs\\\"\"", {
145 {
"Spam",
"\"Eggs\""},
148 "Foo=\"Bar\\\\Baz\"", {
154 "Foo=\"Bar\\nBaz\\t\" Spam=\"\\rEggs\" Octals=\"\\1a\\11\\17\\18\\81\\377\\378\\400\\2222\" Final=Check", {
155 {
"Foo",
"Bar\nBaz\t"},
157 {
"Octals",
"\1a\11\17\1" "881\377\37" "8\40" "0\222" "2"},
161 "Valid=Mapping Escaped=\"Escape\\\\\"", {
162 {
"Valid",
"Mapping"},
163 {
"Escaped",
"Escape\\"},
166 "Valid=Mapping Bare=\"Escape\\\"", {});
168 "OneOctal=\"OneEnd\\1\" TwoOctal=\"TwoEnd\\11\"", {
169 {
"OneOctal",
"OneEnd\1"},
170 {
"TwoOctal",
"TwoEnd\11"},
175 BOOST_TEST_MESSAGE(std::string(
"CheckParseTorReplyMapping(Null=\"\\0\")"));
178 auto r_it = ret.begin();
188 "SOME=args,here MORE optional=arguments here", {
189 {
"SOME",
"args,here"},
BOOST_AUTO_TEST_SUITE(cuckoocache_tests)
Test Suite for CuckooCache.
BOOST_AUTO_TEST_SUITE_END()
#define BOOST_CHECK_EQUAL(v1, v2)
void CheckParseTorReplyMapping(std::string input, std::map< std::string, std::string > expected)
std::map< std::string, std::string > ParseTorReplyMapping(const std::string &s)
Parse reply arguments in the form 'METHODS=COOKIE,SAFECOOKIE COOKIEFILE=".../control_auth_cookie"'.
BOOST_AUTO_TEST_CASE(util_SplitTorReplyLine)
std::pair< std::string, std::string > SplitTorReplyLine(const std::string &s)
void CheckSplitTorReplyLine(std::string input, std::string command, std::string args)