Changeset 633 for trunk/test


Ignore:
Timestamp:
May 9, 2008, 2:34:22 AM (13 years ago)
Author:
Peter Johansson
Message:

closes #327 - added rule so 'make' is issued in 'lib/' when libsvndigest is needed - skipping similar rule for 'bin/' because cant see the use of it

Location:
trunk/test
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/test/Makefile.am

    r624 r633  
    7171copyright_test_DEPENDENCIES = $(toy_project) @top_builddir@/lib/libsvndigest.la
    7272
     73@top_builddir@/lib/libsvndigest.la:
     74  @cd @top_builddir@/lib/ && $(MAKE) $(AM_MAKEFLAGS);
     75
    7376$(toy_project):
    7477  echo Checking out test repository && \
     
    7780clean-local:
    7881  rm -rf *.png *.tmp *~ $(targetdir)
     82
     83.PHONY: @top_builddir@/lib/libsvndigest.la
  • trunk/test/stats_test.cc

    r604 r633  
    3737#include <iostream>
    3838#include <numeric>
     39#include <sstream>
    3940#include <string>
    4041#include <vector>
     
    4849  bool test_add(void);
    4950  bool test_blame(void);
     51  bool test_cache(const Stats&);
    5052  bool test_classic(void);
    5153  bool test_base_class(const Stats&);
     
    6769  }
    6870
    69   ok &= test_add();
    70   ok &= test_blame();
     71  //  ok &= test_add();
     72  //ok &= test_blame();
    7173  ok &= test_classic();
    7274                                                                               
     
    110112
    111113 
     114  bool test_cache(const Stats& stats)
     115  {
     116    std::cerr << "test cache " << std::endl;
     117    std::stringstream ss;
     118    stats.print(ss);
     119    ClassicStats new_stats(path());
     120    if (!new_stats.load_cache(ss)) {
     121      std::cerr << "Failed reloading cache" << std::endl;
     122      return false;
     123    }
     124    std::cerr << "Hello" << std::endl;
     125    ss.clear(std::ios::goodbit);
     126    if (stats.authors() != new_stats.authors()) {
     127      std::cerr << "Error: cache: authors not the same\n";
     128      return false;
     129    }
     130    std::cerr << "Hello2" << std::endl;
     131    if (stats.revision()!=new_stats.revision()) {
     132      std::cerr << "Error: cache: revision not the same\n";
     133      return false;
     134    }
     135    try {
     136      for (int lt=0; lt<1; ++lt) {
     137        for (std::set<std::string>::const_iterator a=stats.authors().begin();
     138             a!=stats.authors().end(); ++a) {
     139          for (svn_revnum_t rev=0; rev<=stats.revision(); ++rev) {
     140            std::cerr << "lt: " << lt << std::endl;
     141            std::cerr << "author: " << *a << std::endl;
     142            std::cerr << "rev: " << rev << std::endl;
     143            if (stats(lt, *a, rev)!=new_stats(lt, *a, rev)) {
     144              std::cerr << "Error cache:\n";
     145              std::cerr << "lt: " << lt << std::endl;
     146              std::cerr << "author: " << *a << std::endl;
     147              std::cerr << "rev: " << rev << std::endl;
     148              std::cerr << stats(lt, *a, rev) << " not equal "
     149                        << new_stats(lt, *a, rev) << std::endl;
     150              return false;
     151            }
     152          }
     153        }
     154      }
     155    }
     156    catch (std::runtime_error& e) {
     157      std::cerr << "Caught an exception. what(): " << e.what() << "\n";
     158      return false;
     159    }
     160
     161    std::stringstream ss2;
     162    new_stats.print(ss2);
     163    if (ss.str()!=ss2.str()) {
     164      std::cerr << "ERROR: reprinted cache not equal first printed cache\n";
     165
     166      std::string line;
     167      std::string line2;
     168      std::size_t line_no=1;
     169      ss.seekg(0);
     170      ss2.seekg(0);
     171      assert(ss.good());
     172      assert(ss2.good());
     173      while (getline(ss, line) && getline(ss2, line2) ) {
     174        if (line==line2) {
     175          std::cerr << line_no << " " << line << "\n";
     176        }
     177        else {
     178          std::cerr << line_no << "< " << line << "\n";
     179          std::cerr << line_no << "> " << line2 << "\n";
     180          return false;
     181        }
     182        ++line_no;
     183      }
     184      return false;
     185    }
     186    return true;
     187  }
     188
     189
    112190  bool test_classic(void)
    113191  {
     
    115193    ClassicStats cs(path());
    116194    cs.parse(path());
    117     ok &= test_base_class(cs);
     195    //ok &= test_base_class(cs);
     196   
     197    // Peter, should be included in test_base_test()
     198    ok &= test_cache(cs);
    118199
    119200    // testing copyright lines for peter
Note: See TracChangeset for help on using the changeset viewer.