How PostgreSQL is tested
Peter Eisentraut
[email protected]
@petereisentraut
Slide 2
Slide 2 text
POSTGRES 4.2
Slide 3
Slide 3 text
src/test/regress/
Slide 4
Slide 4 text
sql/
results/
expected/
Slide 5
Slide 5 text
make installcheck
Slide 6
Slide 6 text
make check
7.0
install before test
parallel
Slide 7
Slide 7 text
pg_regress
Slide 8
Slide 8 text
Problems
can only test SQL-level things
must be deterministic
plan differences
platform differences
configuration differences
changes in external dependencies
inverts TDD approach
Slide 9
Slide 9 text
Module tests
6.5: mb tests
7.1: intarray, cube, seg
...
Coverity, scan-build, Valgrind, ...
see PGCon 2014
Slide 22
Slide 22 text
Test coverage
make coverage-clean
make check
make coverage-html
http://coverage.postgresql.org/
http://blog.2ndquadrant.com/code-coverage/
http://pgci.eisentraut.org/jenkins/job/postgresql_master_coverage/
Slide 23
Slide 23 text
Gaps
pg_dump
pg_upgrade more details
pg_upgrade cross-version
other clients/tools
indexes
vacuum
crash recovery
Slide 24
Slide 24 text
More gaps
configurations
protocol
access control
replication
archiving
Slide 25
Slide 25 text
Even more gaps
performance
packaging
extensions
Slide 26
Slide 26 text
Test infrastructure goals
test discovery
test result reporting
test performance
running tests partially
tests that don't run everywhere