https://bugzilla.wikimedia.org/show_bug.cgi?id=37602

--- Comment #18 from Tim Landscheidt <[email protected]> ---
I create a separate user and database for each test in my setup because I have
some diffuse recollections of not every DB object identifier being
schema-qualified in some places in the past; having isolated sandboxes
minimizes the risk of intermingling involved.  As users and databases are
cheap, I use them very generously.

In my setup, I clean up test databases manually and $TESTID contains the SHA1
of the commit being tested and as a suffix the commit that an update is tested
from (i. e. $SHA1...-HEAD = a fresh installation of $SHA1 is tested;
$SHA1-1.19.21 = 1.19.21 is freshly installed, then $SHA1 is checked out,
maintenance/update.php is called and then the tests are run).

With Jenkins, you would probably use the Jenkins job number which is strictly
increasing to name the user/database, so for clean-up you would just look at a
job that is x days old and drop all users/databases that have a lesser job
number.  Or you could iterate over all databases, look up when the
corresponding Jenkins job finished, if that is > x days, drop.

(I think the SQLite way is just to tar up the build directory; that would be
equivalent to pg_dump the database to the build directory, drop the database
and then tar up.  So no leakage while preserving all data.  A bzipped2 pg_dump
of the database after the tests were run is about 100 kByte on my machine.)

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are on the CC list for the bug.
_______________________________________________
Wikibugs-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l

Reply via email to