]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
add testrunner to .gitignore, plus ahu's "joe" habit~ 770/head
authorbert hubert <bert.hubert@netherlabs.nl>
Tue, 7 May 2013 10:02:14 +0000 (12:02 +0200)
committerbert hubert <bert.hubert@netherlabs.nl>
Tue, 7 May 2013 10:02:14 +0000 (12:02 +0200)
implement validation of Base64Encode against openssl output

pdns/.gitignore
pdns/test-base64_cc.cc

index 4c9825a2db1119ba9d3f8ac49ffdab55638a01c0..f552f6e3e828848860240bee5e16a3e50adea965 100644 (file)
@@ -15,7 +15,9 @@
 /dnslabeltext.cc
 /dnsreplay
 /dnsbulktest
+/testrunner
 /rec_control
 /nsec3dig
 /bind-dnssec.schema.sqlite3.sql.h
 /pdns-recursor-*
+*~
index 7223ec955846355ac83d9695db9daa7492820b10..b9be69263d25b5adc891e6ac52f96e9a234c4028 100644 (file)
@@ -1,7 +1,12 @@
 #define BOOST_TEST_DYN_LINK
 #define BOOST_TEST_NO_MAIN
 #include <boost/test/unit_test.hpp>
+#include <boost/assign/std/map.hpp>
+#include <boost/foreach.hpp>
 #include "base64.hh"
+
+using namespace boost;
+
 BOOST_AUTO_TEST_SUITE(base64_cc)
 
 BOOST_AUTO_TEST_CASE(test_Base64_Roundtrip) {
@@ -11,4 +16,56 @@ BOOST_AUTO_TEST_CASE(test_Base64_Roundtrip) {
   BOOST_CHECK_EQUAL(before, after);
 }
 
+/* for a in $(seq 1 32); 
+   do 
+    plain=$(pwgen -1  -s $a) 
+    echo  \(\"$plain\",\"$(echo -n $plain | openssl enc -base64)\"\) ; 
+   done
+*/
+
+BOOST_AUTO_TEST_CASE(test_Base64_Encode) {
+  typedef std::map<std::string, std::string> cases_t;
+  cases_t cases;
+  assign::insert(cases)("z","eg==")
+    ("x4","eDQ=")
+    ("J07","SjA3")
+    ("kl8F","a2w4Rg==")
+    ("2NUx9","Mk5VeDk=")
+    ("hwXQ8C","aHdYUThD")
+    ("V7ZHmlG","VjdaSG1sRw==")
+    ("FuNFLSd5","RnVORkxTZDU=")
+    ("YVGwy3Vbi","WVZHd3kzVmJp")
+    ("6ueW4V3oLG","NnVlVzRWM29MRw==")
+    ("d5zR7AWIBIQ","ZDV6UjdBV0lCSVE=")
+    ("WJjZ6xgpRMCD","V0pqWjZ4Z3BSTUNE")
+    ("e8I52L0vC9Kfq","ZThJNTJMMHZDOUtmcQ==")
+    ("ufxMi8EZgTDja8","dWZ4TWk4RVpnVERqYTg=")
+    ("MiNPxzxUkNXCFg1","TWlOUHh6eFVrTlhDRmcx")
+    ("abqIPosEky85gFVM","YWJxSVBvc0VreTg1Z0ZWTQ==")
+    ("Qccuox8igoyRKEeTo","UWNjdW94OGlnb3lSS0VlVG8=")
+    ("wbaw6g6WWo4iiYXosV","d2JhdzZnNldXbzRpaVlYb3NW")
+    ("ZIfJZIA3Kd0a6iIr0vc","WklmSlpJQTNLZDBhNmlJcjB2Yw==")
+    ("SUhE1RK7xrRfvYOiaPMQ","U1VoRTFSSzd4clJmdllPaWFQTVE=")
+    ("ZAWsEeB4bcTUzTr828VTd","WkFXc0VlQjRiY1RVelRyODI4VlRk")
+    ("xc9rpu0F5ztR7r3jElr2BS","eGM5cnB1MEY1enRSN3IzakVscjJCUw==")
+    ("xvEWPkZjqVjIZwsL5WhijES","eHZFV1BrWmpxVmpJWndzTDVXaGlqRVM=")
+    ("yy4yAmcBKCNF3hWriWbDnKmF","eXk0eUFtY0JLQ05GM2hXcmlXYkRuS21G")
+    ("9wKEMpl8OlFvnD10wwhoK7BjY","OXdLRU1wbDhPbEZ2bkQxMHd3aG9LN0JqWQ==")
+    ("SB6yLm39pDVIUiQ5g73BvyRzBs","U0I2eUxtMzlwRFZJVWlRNWc3M0J2eVJ6QnM=")
+    ("Acu4kk1puF98lIzd1b9bt8ha7Er","QWN1NGtrMXB1Rjk4bEl6ZDFiOWJ0OGhhN0Vy")
+    ("P4X6efItE6cn03ksLTvniqMQlel3","UDRYNmVmSXRFNmNuMDNrc0xUdm5pcU1RbGVsMw==")
+    ("RnQSvhIOz3ywuHCoSotJGKjBdCVbx","Um5RU3ZoSU96M3l3dUhDb1NvdEpHS2pCZENWYng=")
+    ("ykybXtN0lelsLSzyzd4DTP3sYp8YGu","eWt5Ylh0TjBsZWxzTFN6eXpkNERUUDNzWXA4WUd1")
+    ("eSHBt7Xx5F7A4HFtabXEzDLD01bnSiG","ZVNIQnQ3WHg1RjdBNEhGdGFiWEV6RExEMDFiblNpRw==")
+    ("dq4KydZjmcoQQ45VYBP2EDR8FqKaMul0","ZHE0S3lkWmptY29RUTQ1VllCUDJFRFI4RnFLYU11bDA=");
+
+  BOOST_FOREACH(const cases_t::value_type& val, cases) {
+    std::string encoded = Base64Encode(val.first), decoded;
+    BOOST_CHECK_EQUAL(encoded, val.second);
+    B64Decode(encoded, decoded);
+    BOOST_CHECK_EQUAL(decoded, val.first);
+  }
+}
+
+
 BOOST_AUTO_TEST_SUITE_END()