]> gitweb.hamatoma.de Git - crepublib/commitdiff
testcode MD5
authorhama <hama@siduction.net>
Sun, 8 Feb 2015 09:33:01 +0000 (10:33 +0100)
committerhama <hama@siduction.net>
Sun, 8 Feb 2015 09:33:01 +0000 (10:33 +0100)
cunit/cuReDirTools.cpp
cunit/cuReMD5.cpp
cunit/testall.cpp
math/ReMD5.cpp
math/md5.cpp
os/ReDirTools.cpp
os/ReTraverser.cpp
os/ReTraverser.hpp

index 032ddd894d28994b971edfccfb3c5c7fa3af3ae2..0ee0a797084a256f2187367976a74d3a0190bb93 100644 (file)
@@ -61,7 +61,8 @@ private:
        void run(){
                initTree();
 
-               testToolSync();
+               testDirStatistic();
+
                testToolStatistic();
                testBasic();
                testDirOptions();
@@ -69,6 +70,7 @@ private:
                testDirStatistic();
         testCopyFile();
         testList();
+               testToolSync();
        }
     void testList(){
         ReDirTools tools;
@@ -171,7 +173,7 @@ private:
                ReTraverser traverser(m_base.str());
                RePatternList patterns;
                // exclude */cache/*
-               ReByteBuffer buffer(";*;-*/cache");
+               ReByteBuffer buffer(";*;-cache");
                patterns.set(buffer.str());
                traverser.setDirPattern(&patterns);
                int level = 0;
@@ -197,7 +199,7 @@ private:
                ReByteBuffer buffer;
         ReByteBuffer expected;
                log(false, list.join("\n", buffer).str());
-               checkEqu(4u, list.count());
+               checkEqu(3u, list.count());
         // "1  t:\temp\winfried\2\retestunit\dir1\n"
         buffer.set(list.strOf(0), list.strLengthOf(0));
         checkT(buffer.startsWith("1\t"));
@@ -228,7 +230,7 @@ private:
     }
        void testToolStatistic(){
                ReDirTools tools;
-               const char* argv[] = { "dt", "stat", "-P;*;-*/cache/*", m_base.str(), "2" };
+               const char* argv[] = { "dt", "stat", "-P;*;-cache", m_base.str(), "2" };
                tools.main(5, (char**) argv);
        }
        void testToolSync(){
@@ -236,7 +238,7 @@ private:
                ReByteBuffer source(m_base);
                source.append("dir1");
                ReByteBuffer target(makeDir("synctest"));
-               const char* argv[] = { "dt", "sync", "-P;*;-*/cache/*", "-p;*.txt",
+               const char* argv[] = { "dt", "sync", "-P;*;-cache", "-p;*.txt",
                        source.str(), target.str() };
                tools.main(6, (char**) argv);
        }
index 3bac001c90bea57a1761ec68488b7a66a660152c..bb0c990eaf9f2495d26dfb564c61f64c2ae6e0bd 100644 (file)
@@ -18,7 +18,7 @@
 
 #include "base/rebase.hpp"
 #include "math/remath.hpp"
-//#include "math/md5.hpp"
+#include "math/md5.hpp"
 
 class TestReMd5 : public ReTestUnit {
 public:
@@ -31,7 +31,7 @@ private:
                testBase();
        }
        void testOld(){
-#if 0
+#if 1
                MD5 md5;
                md5.update("", 0);
                md5.finalize();
index f9ca28a4fb2ecb07b2cdaf63c125adb79810c6ce..cabbccff2d50d9c3af14b62bcfb7e31e37b86e1c 100644 (file)
@@ -73,7 +73,7 @@ void testMath(){
 void testAll(){
        try
        {
-               testOs();
+               testMath();
 
                testBase();
                testString();
index 403522e03597d17be41503195cd79edbd9916907..6dbf609d58b695197eeb3cf2ccdb03dc364e8251 100644 (file)
@@ -180,8 +180,12 @@ void ReMD5::processChunk(const uint8_t block[64]){
        uint32_t C = m_c0;
        uint32_t D = m_d0;
        //Main loop:
+
        int F, g;
        for (int i = 0; i < 64; i++){
+#if defined TRACE_MD5
+               printf("%2d: A: %08x B: %08x C: %08x D%08x\n", i, A, B, C, D);
+#endif
                if (i < 16){
                        // F := (B and C) or ((not B) and D)
                        F = (B & C) | (~ B & D);
@@ -202,6 +206,10 @@ void ReMD5::processChunk(const uint8_t block[64]){
                        // g := (7×i) mod 16
                        g = (7*i) % 16;
                }
+#if defined TRACE_MD5
+               printf("    K[%2d]: %08x M[%2d]: %08x shift: %02d\n",
+                                       i, m_K[i], g, M[g], m_s[i]);
+#endif
                uint32_t dTemp = D;
                D = C;
                C = B;
index f90e5b325c2377883546dc279cba61b581139476..9ca7a97448331aa0c583b1f55a6504c126fa489f 100644 (file)
@@ -79,11 +79,16 @@ inline MD5::uint4 MD5::I(uint4 x, uint4 y, uint4 z) {
 inline MD5::uint4 MD5::rotate_left(uint4 x, int n) {
   return (x << n) | (x >> (32-n));
 }
-
+static int s_ix = 0;
 // FF, GG, HH, and II transformations for rounds 1, 2, 3, and 4.
 // Rotation is separate from addition to prevent recomputation.
 inline void MD5::FF(uint4 &a, uint4 b, uint4 c, uint4 d, uint4 x, uint4 s, uint4 ac) {
-  a = rotate_left(a+ F(b,c,d) + x + ac, s) + b;
+#if defined TRACE_MD5
+       printf("%2d: A: %08x B: %08x C: %08x D%08x\n", s_ix++ % 16, a, b, c, d);
+       printf("    K[%2d]: %08x M[?]: %08x shift: %02d ac: %08x\n",
+                                       s_ix - 1, 0xd76aa478, x, s, ac);
+#endif
+       a = rotate_left(a+ F(b,c,d) + x + ac, s) + b;
 }
 
 inline void MD5::GG(uint4 &a, uint4 b, uint4 c, uint4 d, uint4 x, uint4 s, uint4 ac) {
index 193b94c0df71565ade75bc7b1d45f4e5ece268c7..d865cf9f83b84dd53f52acf9ede0ee28fea3208f 100644 (file)
@@ -361,7 +361,7 @@ const char* ReDirOptions::checkPatternList(const char* value){
             value);\r
        if (strchr(value, OS_SEPARATOR_CHAR) != NULL)\r
                throw ReOptionException(&m_programArgs, \r
-            i18n("slash not allowed in pattern list: $2"), value);\r
+            i18n("slash not allowed in pattern list: $1"), value);\r
     return value;\r
 }\r
 /**\r
@@ -531,9 +531,6 @@ void ReDirOptions::optimizePathPattern(ReByteBuffer& buffer){
  * @param filter    OUT: the filter to set\r
  */\r
 void ReDirOptions::setFilterFromProgramArgs(ReDirEntryFilter_t& filter){\r
-{ ReByteBuffer buf;\r
-const char* ptr = m_programArgs.getString("pathpattern", buf);\r
-}\r
     ReByteBuffer buffer;\r
     if (m_programArgs.getString("younger", buffer)[0] != '\0')\r
         filter.m_maxAge = checkDate(buffer.str());\r
index c934cb0a7c5b4a0056465afb1ca1960c40a37f89..2194d27310ecc3b289a7c77601e8b00a5eb8b96a 100644 (file)
@@ -328,8 +328,8 @@ void  ReDirStatus_t::timeToFiletime(time_t time, FileTime_t& filetime){
  */\r
 ReDirEntryFilter_t::ReDirEntryFilter_t() :\r
     m_types(ReDirStatus_t::TC_ALL),\r
-       m_nodePatterns(),\r
-       m_pathPatterns(),\r
+       m_nodePatterns(NULL),\r
+       m_pathPatterns(NULL),\r
        m_minSize(0),\r
        m_maxSize(-1),\r
        m_minAge(0),\r
index 1013d29cadf7cd77a26432eda8f0111d526c6151..9f6ff782ddb2ce684ee03b50a411f387224b2cc3 100644 (file)
@@ -156,7 +156,10 @@ public:
      * @param pattern  pattern list for the subdirs to be entered
     */
     void setDirPattern(RePatternList* pattern)
-       { m_dirPatterns = pattern; m_dirPatterns->setIgnoreCase(true); }
+       {       m_dirPatterns = pattern;
+               if (pattern != NULL)
+                       m_dirPatterns->setIgnoreCase(true);
+       }
     /** Sets the maximal depth.
      * @param value     the value to set
     */