Mercurial > hg-stable
annotate tests/test-custom-filters.t @ 40479:197f092b2cd9 stable 4.8.2
server: always close http socket if responding with an error (issue6033)
It's possible for hgweb to respond _very_ early with an error if we're
catching certain types of errors. When we do, we need to tell the client
the socket is toast when there's a POST involved because otherwise there
can be lingering POST data on the socket that will confuse any future
requests on the socket. This manifested as a flaky failure on Linux in an
lfs extension test and a reliable failure on FreeBSD. With this patch
applied, test-lfs-serve-access.t now passes for me on FreeBSD.
Differential Revision: https://phab.mercurial-scm.org/D5498
author | Augie Fackler <raf@durin42.com> |
---|---|
date | Sun, 06 Jan 2019 14:58:54 -0500 |
parents | 6e713711331b |
children | ee9981bc8b44 |
rev | line source |
---|---|
12124
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
1 $ hg init |
6066
f3a8b5360100
Strip filter name from command before passing to filter function.
Jesse Glick <jesse.glick@sun.com>
parents:
diff
changeset
|
2 |
12124
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
3 $ cat > .hg/hgrc <<EOF |
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
4 > [extensions] |
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
5 > prefixfilter = prefix.py |
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
6 > [encode] |
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
7 > *.txt = stripprefix: Copyright 2046, The Masters |
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
8 > [decode] |
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
9 > *.txt = insertprefix: Copyright 2046, The Masters |
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
10 > EOF |
6066
f3a8b5360100
Strip filter name from command before passing to filter function.
Jesse Glick <jesse.glick@sun.com>
parents:
diff
changeset
|
11 |
12124
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
12 $ cat > prefix.py <<EOF |
26587
56b2bcea2529
error: get Abort from 'error' instead of 'util'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
12316
diff
changeset
|
13 > from mercurial import error |
12124
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
14 > def stripprefix(s, cmd, filename, **kwargs): |
38104
6e713711331b
py3: add b'' prefixes in tests/test-custom-filters.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
26587
diff
changeset
|
15 > header = b'%s\n' % cmd |
12124
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
16 > if s[:len(header)] != header: |
38104
6e713711331b
py3: add b'' prefixes in tests/test-custom-filters.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
26587
diff
changeset
|
17 > raise error.Abort(b'missing header "%s" in %s' % (cmd, filename)) |
12124
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
18 > return s[len(header):] |
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
19 > def insertprefix(s, cmd): |
38104
6e713711331b
py3: add b'' prefixes in tests/test-custom-filters.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
26587
diff
changeset
|
20 > return b'%s\n%s' % (cmd, s) |
12124
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
21 > def reposetup(ui, repo): |
38104
6e713711331b
py3: add b'' prefixes in tests/test-custom-filters.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
26587
diff
changeset
|
22 > repo.adddatafilter(b'stripprefix:', stripprefix) |
6e713711331b
py3: add b'' prefixes in tests/test-custom-filters.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
26587
diff
changeset
|
23 > repo.adddatafilter(b'insertprefix:', insertprefix) |
12124
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
24 > EOF |
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
25 |
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
26 $ cat > .hgignore <<EOF |
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
27 > .hgignore |
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
28 > prefix.py |
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
29 > prefix.pyc |
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
30 > EOF |
6066
f3a8b5360100
Strip filter name from command before passing to filter function.
Jesse Glick <jesse.glick@sun.com>
parents:
diff
changeset
|
31 |
12124
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
32 $ cat > stuff.txt <<EOF |
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
33 > Copyright 2046, The Masters |
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
34 > Some stuff to ponder very carefully. |
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
35 > EOF |
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
36 $ hg add stuff.txt |
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
37 $ hg ci -m stuff |
6066
f3a8b5360100
Strip filter name from command before passing to filter function.
Jesse Glick <jesse.glick@sun.com>
parents:
diff
changeset
|
38 |
12124
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
39 Repository data: |
6066
f3a8b5360100
Strip filter name from command before passing to filter function.
Jesse Glick <jesse.glick@sun.com>
parents:
diff
changeset
|
40 |
12124
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
41 $ hg cat stuff.txt |
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
42 Some stuff to ponder very carefully. |
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
43 |
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
44 Fresh checkout: |
6066
f3a8b5360100
Strip filter name from command before passing to filter function.
Jesse Glick <jesse.glick@sun.com>
parents:
diff
changeset
|
45 |
12124
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
46 $ rm stuff.txt |
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
47 $ hg up -C |
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
48 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
49 $ cat stuff.txt |
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
50 Copyright 2046, The Masters |
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
51 Some stuff to ponder very carefully. |
12125
e5ccb9ea8266
test-custom-filter: heredoc is not required for single line operations
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
12124
diff
changeset
|
52 $ echo "Very very carefully." >> stuff.txt |
12124
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
53 $ hg stat |
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
54 M stuff.txt |
6066
f3a8b5360100
Strip filter name from command before passing to filter function.
Jesse Glick <jesse.glick@sun.com>
parents:
diff
changeset
|
55 |
12125
e5ccb9ea8266
test-custom-filter: heredoc is not required for single line operations
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
12124
diff
changeset
|
56 $ echo "Unauthorized material subject to destruction." > morestuff.txt |
12124
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
57 |
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
58 Problem encoding: |
6066
f3a8b5360100
Strip filter name from command before passing to filter function.
Jesse Glick <jesse.glick@sun.com>
parents:
diff
changeset
|
59 |
12124
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
60 $ hg add morestuff.txt |
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
61 $ hg ci -m morestuff |
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
62 abort: missing header "Copyright 2046, The Masters" in morestuff.txt |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12125
diff
changeset
|
63 [255] |
12124
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
64 $ hg stat |
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
65 M stuff.txt |
7edda6c7985d
tests: unify test-custom-filters
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8742
diff
changeset
|
66 A morestuff.txt |