Mercurial > hg
annotate tests/test-issue842.t @ 24507:a0668a587c04
run-tests: wait for test threads after first error
The test runner has the ability to stop on first error.
Tests are executed in new Python threads. The test runner starts new
threads when it has capacity to do so. Before this patch, the "stop on
first error" logic would return immediately from the "run tests"
function, without waiting on test threads to complete. There was thus
a race between the test runner thread doing cleanup work and the test
thread performing activity. For example, the test thread could be in
the middle of executing a test shell script and the test runner
could remove the test's temporary directory. Depending on timing, this
could result in any number of output from the test runner.
This patch eliminates the race condition by having the test runner
explicitly wait for test threads to complete before continuing.
I discovered this issue as I modified the test harness in a subsequent
patch and was reliably able to tickle the race condition.
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Sat, 28 Mar 2015 19:39:03 -0700 |
parents | 41885892796e |
children | 2fc86d92c4a9 |
rev | line source |
---|---|
12328
b63f6422d2a7
tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12195
diff
changeset
|
1 http://mercurial.selenic.com/bts/issue842 |
12195
ee41be2bbf5a
tests: unify test-issue*
Adrian Buehlmann <adrian@cadifra.com>
parents:
8452
diff
changeset
|
2 |
ee41be2bbf5a
tests: unify test-issue*
Adrian Buehlmann <adrian@cadifra.com>
parents:
8452
diff
changeset
|
3 $ hg init |
ee41be2bbf5a
tests: unify test-issue*
Adrian Buehlmann <adrian@cadifra.com>
parents:
8452
diff
changeset
|
4 $ echo foo > a |
ee41be2bbf5a
tests: unify test-issue*
Adrian Buehlmann <adrian@cadifra.com>
parents:
8452
diff
changeset
|
5 $ hg ci -Ama |
ee41be2bbf5a
tests: unify test-issue*
Adrian Buehlmann <adrian@cadifra.com>
parents:
8452
diff
changeset
|
6 adding a |
8452
cb93eee1fbcd
tests: add missing interpreter lines
Martin Geisler <mg@lazybytes.net>
parents:
6336
diff
changeset
|
7 |
12195
ee41be2bbf5a
tests: unify test-issue*
Adrian Buehlmann <adrian@cadifra.com>
parents:
8452
diff
changeset
|
8 $ hg up -r0000 |
ee41be2bbf5a
tests: unify test-issue*
Adrian Buehlmann <adrian@cadifra.com>
parents:
8452
diff
changeset
|
9 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
ee41be2bbf5a
tests: unify test-issue*
Adrian Buehlmann <adrian@cadifra.com>
parents:
8452
diff
changeset
|
10 |
ee41be2bbf5a
tests: unify test-issue*
Adrian Buehlmann <adrian@cadifra.com>
parents:
8452
diff
changeset
|
11 $ echo bar > a |
ee41be2bbf5a
tests: unify test-issue*
Adrian Buehlmann <adrian@cadifra.com>
parents:
8452
diff
changeset
|
12 |
ee41be2bbf5a
tests: unify test-issue*
Adrian Buehlmann <adrian@cadifra.com>
parents:
8452
diff
changeset
|
13 Should issue new head warning: |
ee41be2bbf5a
tests: unify test-issue*
Adrian Buehlmann <adrian@cadifra.com>
parents:
8452
diff
changeset
|
14 |
ee41be2bbf5a
tests: unify test-issue*
Adrian Buehlmann <adrian@cadifra.com>
parents:
8452
diff
changeset
|
15 $ hg ci -Amb |
ee41be2bbf5a
tests: unify test-issue*
Adrian Buehlmann <adrian@cadifra.com>
parents:
8452
diff
changeset
|
16 adding a |
ee41be2bbf5a
tests: unify test-issue*
Adrian Buehlmann <adrian@cadifra.com>
parents:
8452
diff
changeset
|
17 created new head |
6336
4b0c9c674707
warn about new heads on commit (issue842)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
18 |
12195
ee41be2bbf5a
tests: unify test-issue*
Adrian Buehlmann <adrian@cadifra.com>
parents:
8452
diff
changeset
|
19 $ hg up -r0000 |
ee41be2bbf5a
tests: unify test-issue*
Adrian Buehlmann <adrian@cadifra.com>
parents:
8452
diff
changeset
|
20 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
ee41be2bbf5a
tests: unify test-issue*
Adrian Buehlmann <adrian@cadifra.com>
parents:
8452
diff
changeset
|
21 |
ee41be2bbf5a
tests: unify test-issue*
Adrian Buehlmann <adrian@cadifra.com>
parents:
8452
diff
changeset
|
22 $ echo stuffy > a |
ee41be2bbf5a
tests: unify test-issue*
Adrian Buehlmann <adrian@cadifra.com>
parents:
8452
diff
changeset
|
23 |
ee41be2bbf5a
tests: unify test-issue*
Adrian Buehlmann <adrian@cadifra.com>
parents:
8452
diff
changeset
|
24 Should not issue new head warning: |
ee41be2bbf5a
tests: unify test-issue*
Adrian Buehlmann <adrian@cadifra.com>
parents:
8452
diff
changeset
|
25 |
ee41be2bbf5a
tests: unify test-issue*
Adrian Buehlmann <adrian@cadifra.com>
parents:
8452
diff
changeset
|
26 $ hg ci -q -Amc |
6336
4b0c9c674707
warn about new heads on commit (issue842)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
27 |
12195
ee41be2bbf5a
tests: unify test-issue*
Adrian Buehlmann <adrian@cadifra.com>
parents:
8452
diff
changeset
|
28 $ hg up -r0000 |
ee41be2bbf5a
tests: unify test-issue*
Adrian Buehlmann <adrian@cadifra.com>
parents:
8452
diff
changeset
|
29 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
6336
4b0c9c674707
warn about new heads on commit (issue842)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
30 |
12195
ee41be2bbf5a
tests: unify test-issue*
Adrian Buehlmann <adrian@cadifra.com>
parents:
8452
diff
changeset
|
31 $ echo crap > a |
ee41be2bbf5a
tests: unify test-issue*
Adrian Buehlmann <adrian@cadifra.com>
parents:
8452
diff
changeset
|
32 $ hg branch testing |
ee41be2bbf5a
tests: unify test-issue*
Adrian Buehlmann <adrian@cadifra.com>
parents:
8452
diff
changeset
|
33 marked working directory as branch testing |
15615 | 34 (branches are permanent and global, did you want a bookmark?) |
12195
ee41be2bbf5a
tests: unify test-issue*
Adrian Buehlmann <adrian@cadifra.com>
parents:
8452
diff
changeset
|
35 |
ee41be2bbf5a
tests: unify test-issue*
Adrian Buehlmann <adrian@cadifra.com>
parents:
8452
diff
changeset
|
36 Should not issue warning: |
ee41be2bbf5a
tests: unify test-issue*
Adrian Buehlmann <adrian@cadifra.com>
parents:
8452
diff
changeset
|
37 |
ee41be2bbf5a
tests: unify test-issue*
Adrian Buehlmann <adrian@cadifra.com>
parents:
8452
diff
changeset
|
38 $ hg ci -q -Amd |
ee41be2bbf5a
tests: unify test-issue*
Adrian Buehlmann <adrian@cadifra.com>
parents:
8452
diff
changeset
|
39 |