apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ben Collins-Sussman <suss...@collab.net>
Subject Re: New Test Suite
Date Tue, 09 Jul 2002 14:47:18 GMT
"Sander Striker" <striker@apache.org> writes:

> Why don't you take a look at the test framework that was cooked up
> in subversion?
> 
>     http://svn.collab.net/repos/svn/trunk/subversion/tests/
> 
> It is currently only used for subversion, but I think you will be able
> to leverage that code with little effort.  Also, on the plus side, it
> is APR based [back to eating our own dogfood ;]

How is it APR based?  I don't follow you, Sander.  It seems that one
could test anything at all with our system.

For testing library interfaces, we have a simple C framework that runs
standalone, self-verifying tests.  For example:

$ ./skel-test list
skel-test  1: parse implicit-length atoms
skel-test  2: parse explicit-length atoms
skel-test  3: parse invalid atoms
skel-test  4: parse lists
skel-test  5: unparse implicit-length atoms
skel-test  6: unparse lists

$ ./skel-test 
PASS: skel-test  1: parse implicit-length atoms
PASS: skel-test  2: parse explicit-length atoms
PASS: skel-test  3: parse invalid atoms
PASS: skel-test  4: parse lists
PASS: skel-test  5: unparse implicit-length atoms
PASS: skel-test  6: unparse lists

For testing the svn binary as a black-box user application, we have a
similar framework written in python:

$ ./basic_tests.py list
Test #     Test Description
------     ----------------
  1      basic checkout of a wc
  2      basic status command
  3      basic commit command
  4      basic update command
  5      basic corruption detection
  6      receiving text merges as part of an update
  7      basic conflict creation and resolution
  8      basic cleanup command
  9      basic revert command
 10      basic switch command
 11      basic delete command

$ ./basic_tests.py 
PASS: basic_tests.py 1: basic checkout of a wc
PASS: basic_tests.py 2: basic status command
PASS: basic_tests.py 3: basic commit command
PASS: basic_tests.py 4: basic update command
...

Mime
View raw message