#38 Declined
Repository
mgorny/whoosh-test-fixes whoosh-test-fixes
Branch
default
Repository
mchaput/whoosh whoosh
Branch
default

Fix running tests in parallel

Author
  1. Michał Górny avatarMichał Górny
Reviewers
Description

The tests currently use constant naming if basename is passed. This may result in random failures whenever more than one instance of tests is running concurrently from a common source directory (with out-of-source build).

I'm providing an easy fix which respects consumer-provided basename. It uses mkdtemp() to create the temporary directory with a random name as 'parent' directory for the test dir.

Comments (3)

    1. Michał Górny author

      how can this issue be reproduced best?

      An easy way to get a random failure is to use:

      for a in $(seq 10); do nosetests tests/test_tables.py & :; done
      

      But the likeliness of reproducing depends on the actual test. Most of the tests use random() to create the name — they're less fragile but it depends a lot on the random generator then.

      can you also file an issue on the issue tracker?

      Do you mean the 'Issues' tab on bitbucket?

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.