Opened 3 weeks ago

Last modified 17 hours ago

#88 new task

Build test suite

Reported by: Kris Deugau Owned by:
Priority: major Milestone:
Version: Keywords:
Cc:

Description


Change History (25)

comment:1 by Kris Deugau, 3 weeks ago

In 943:

/trunk

Finally start building out a test suite rather than relying on hand-testing.
See #88

comment:2 by Kris Deugau, 3 weeks ago

In 944:

/trunk/t

Add calls to wipe and reload a consistent minimal DB for testing
Add SQL files to drop and reload tables
See #88

comment:3 by Kris Deugau, 3 weeks ago

In 945:

/trunk/t

Tweak test calls checking the DB
See #88

comment:4 by Kris Deugau, 3 weeks ago

In 946:

/trunk/t

Set proper module stucture so the DNSDB object can be exported to the actual test files
See #88

comment:5 by Kris Deugau, 3 weeks ago

In 947:

/trunk/t

Rejig psql drop/reload to better suppress output unless debugging the test
framework itself; it's too noisy for regular use. Neither diag or note
seem to actually suppress it.
See #88

comment:6 by Kris Deugau, 3 weeks ago

In 948:

/trunk/t

Patch up some fixes misplaced in patch shuffling
See #88

comment:7 by Kris Deugau, 3 weeks ago

In 950:

/branches/cname-collision

Start adding actual tests. See #88.

First chunk, tests for CNAME collision checks. See #72.

comment:8 by Kris Deugau, 3 weeks ago

In 951:

/branches/cname-collision

Add CNAME record-add tests for reverse zones. See #88, #72

comment:9 by Kris Deugau, 3 weeks ago

In 952:

/branches/cname-collision

Add add-duplicate-CNAME test that got missed somehow when shuffling patches
Wrap domain and reverse zone groups of tests in their own blocks
See #88, #72

comment:10 by Kris Deugau, 3 weeks ago

In 953:

/branches/cname-collision

Add domain record update tests
See #88, #72

comment:11 by Kris Deugau, 2 weeks ago

In 954:

/branches/cname-collision

Fix another patch-shuffling oops; accidentally duplicated a test instead
of copying in the appropriate variantion.
See #72, #88

comment:12 by Kris Deugau, 2 weeks ago

In 955:

/branches/cname-collision

Rename some subtests for consistency
Fix trivial whitespace oops
See #72, #88

comment:13 by Kris Deugau, 2 weeks ago

In 956:

/branches/cname-collision

More test name fiddling for consistency
See #72, #88

comment:14 by Kris Deugau, 2 weeks ago

In 957:

/trunk

Add minimal call to run tests with "make test". See #88.

comment:15 by Kris Deugau, 2 weeks ago

In 958:

/branches/cname-collision

Merge a minor bit of test framework stuff from /trunk
See #88, #72

comment:16 by Kris Deugau, 2 weeks ago

In 961:

/trunk

Polish up a little boilerplate in t/DNSTest.pm for easier debugging of tests
See #88

comment:17 by Kris Deugau, 8 days ago

In 962:

/branches/cname-collision

File down a rough edge by way of proper new() boilerplate
File down another rough edge by initializing a module debug variable
Recordkeeping merge from /trunk
See #88

comment:18 by Kris Deugau, 8 days ago

In 964:

/branches/cname-collision

Tests for CNAME updates in reverse zones
See #72, #88

comment:19 by Kris Deugau, 8 days ago

In 965:

/trunk/t

Replace example.dev with expiry1.test in test DB, since apparently "example"

is NOT reserved in all TLDs

Add and tweak a couple more test DB records
See #88

comment:20 by Kris Deugau, 7 days ago

In 968:

/branches/cname-collision

Exclude expired records from collision failures
See #72, #88

comment:21 by Kris Deugau, 7 days ago

In 969:

/branches/cname-collision

Test for collision with yet-to-expire record. Technically overkill as it
falls through to the non-expiring-record case but future refinements may
make this relevant.
See #72, #88

comment:22 by Kris Deugau, 7 days ago

In 970:

/branches/cname-collision

Compact the timestamp check from r968 since it's looking like further
timestamp-related checks will need to go elsewhere anyway, and copy it
into the second section.
See #72, #88

comment:23 by Kris Deugau, 6 days ago

In 971:

/trunk

Tweak DB-safety check in test setup module
See #88

comment:24 by Kris Deugau, 6 days ago

In 976:

/branches/cname-collision

Add a set of test records with various expiry/valid-after settings for
testing CNAME collisions
Add a file of SQL UPDATEs and a call in the test setup module to normalize
the actual tested timestamps to a sliding window so that the base SQL
reference doesn't need to be updated on an ongoing basis for the tests to
work correctly
See #72, #88

comment:25 by Kris Deugau, 17 hours ago

In 982:

/branches/cname-collision

Add test for new non-timestamped CNAME colliding with a record with a
future valid-after stamp
See #72, #88

Note: See TracTickets for help on using tickets.