> Feb 12 2006 12:38am from IGnatius T Foobar @uncnsrd
>A full regression suite is one of those things that we'd like to have,
>but haven't implemented because we're still somewhat short-handed.
Consider myself an extra two hands on the team :) My associate at work
has also been working with me on Citadel stuff, and I believe has been
tinkering with getting it to run on Mac OSX. I'm sure he'll be
lurking here before too long.
> Currently we test by deploying new code here on Uncensored. Our user
>community can usually shake out any bugs within a couple of hours. I
>realize that this is somewhat suboptimal, but it's really all we have
>available.
One of the things I want to do for CivisLink, once I implement just a
few more commands, is to remove the current "Fake Server"
implementation, and replace it with a harness that would:
1. If necessary, compile db, libical,
and citadel, and install to a
location local to the test environment.
2. For each test case,
a. Remove citadel data from test environment.
b. Start citadel as a concurrent child process, storing data in the
test environment.
c. Run any pre-test initialization such as creation of aide user.
d. Run the test case.
e. Kill child process.
Using the fake server with a fake connection is nice and fast for
running unit tests, but slow for development. I don't want to
reimplement a Citadel server in Python (at least not yet!) so it makes
more sense to run Citadel itself in a controlled environment.
So, what this could ultimately grow into is not only tests to ensure
CivisLink is operating properly, but a set of tests that document and
demonstrate several paths of code in Citadel itself.