diff --git a/src/test/modules/libpq_pipeline/README b/src/test/modules/libpq_pipeline/README index d8174dd579..32ad5e91bd 100644 --- a/src/test/modules/libpq_pipeline/README +++ b/src/test/modules/libpq_pipeline/README @@ -1 +1,35 @@ Test programs and libraries for libpq +===================================== + +This module was developed to test libpq's "pipeline" mode, but it can +be used for any libpq test that requires specialized C code. + +"make check" will run all the tests in the module against a temporary +server installation. + +You can manually run a specific test by running: + + ./libpq_pipeline [ ] + +This will not start a new server, but rather connect to the server +specified by the connection string, or your default server if you +leave that out. To discover the available test names, run: + + ./libpq_pipeline tests + +To add a new test to this module, you need to edit libpq_pipeline.c. +Add a function to perform the test, and arrange for main() to call it +when the name of your new test is passed to the program. Don't forget +to add the name of your test to the print_test_list() function, else +the TAP test won't run it. + +If the order in which Postgres protocol messages are sent is deterministic +in your test, you should arrange for the message sequence to be verified +by the TAP test. First generate a reference trace file, using a command +like: + + ./libpq_pipeline -t traces/mynewtest.trace mynewtest + +Then add your test's name to the list in the $cmptrace definition in the +t/001_libpq_pipeline.pl file. Run "make check" a few times to verify +that the trace output actually is stable.