tests/test-hgweb-raw.t
author Matt Harbison <matt_harbison@yahoo.com>
Sat, 24 Mar 2018 01:30:50 -0400
changeset 37104 656ac240f392
parent 36865 422be99519e5
child 40382 bd1ec1e36bf0
permissions -rw-r--r--
context: skip path conflicts by default when clearing unknown file (issue5776) Prior to adding path conflict checking in 989e884d1be9, the test-audit-path.t tests failed as shown here (but it was globbed away). 989e884d1be9 made it fail with a message about the destination manifest containing a conflict (though the no-symlink case wasn't updated). When the path conflict checking was gated behind an experimental config in 2a774cae3a03^::2a774cae3a03, the update started erroneously succeeding here. It turns out that the child of 989e884d1be9 is the origin of this change when path conflict checking is disabled, as shown by grafting the experimental config range on top of it. What's happening here is merge.batchget() is writing the symlink 'back' to wdir (but as a regular file for the no-symlink case), and then tries to write 'back/test', but calls wctx['back/test'].clearunknown() first. The code that's gated here was removing the newly written 'back' file, allowing 'back/test' to succeed. I tried checking for the dir components of 'back/test' in dirstate, and skipping removal if present. But that didn't work because the dirstate isn't updated after each file is written out. This is the last persistent test failure on Windows, so the testbot should start turning green now. \o/
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
22046
7a9cbb315d84 tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents: 18589
diff changeset
     1
#require serve
15446
c5c9ca3719f9 tests: use 'hghave serve' to guard tests that requires serve daemon management
Mads Kiilerich <mads@kiilerich.com>
parents: 15004
diff changeset
     2
12441
cb1e33a41d13 tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents: 11617
diff changeset
     3
Test raw style of hgweb
cb1e33a41d13 tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents: 11617
diff changeset
     4
cb1e33a41d13 tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents: 11617
diff changeset
     5
  $ hg init test
cb1e33a41d13 tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents: 11617
diff changeset
     6
  $ cd test
cb1e33a41d13 tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents: 11617
diff changeset
     7
  $ mkdir sub
16973
3d71807c3a48 tests: use a different evil name in test-hgweb-raw.t
Mads Kiilerich <mads@kiilerich.com>
parents: 16913
diff changeset
     8
  $ cat >'sub/some text%.txt' <<ENDSOME
12441
cb1e33a41d13 tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents: 11617
diff changeset
     9
  > This is just some random text
cb1e33a41d13 tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents: 11617
diff changeset
    10
  > that will go inside the file and take a few lines.
cb1e33a41d13 tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents: 11617
diff changeset
    11
  > It is very boring to read, but computers don't
cb1e33a41d13 tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents: 11617
diff changeset
    12
  > care about things like that.
cb1e33a41d13 tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents: 11617
diff changeset
    13
  > ENDSOME
16973
3d71807c3a48 tests: use a different evil name in test-hgweb-raw.t
Mads Kiilerich <mads@kiilerich.com>
parents: 16913
diff changeset
    14
  $ hg add 'sub/some text%.txt'
12441
cb1e33a41d13 tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents: 11617
diff changeset
    15
  $ hg commit -d "1 0" -m "Just some text"
cb1e33a41d13 tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents: 11617
diff changeset
    16
cb1e33a41d13 tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents: 11617
diff changeset
    17
  $ hg serve -p $HGPORT -A access.log -E error.log -d --pid-file=hg.pid
2532
84655f721f39 Add a test for getting raw files via the web UI.
Eric Hopper <hopper@omnifarious.org>
parents:
diff changeset
    18
12441
cb1e33a41d13 tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents: 11617
diff changeset
    19
  $ cat hg.pid >> $DAEMON_PIDS
36865
422be99519e5 hgweb: remove support for short query string based aliases (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31028
diff changeset
    20
  $ (get-with-headers.py localhost:$HGPORT 'raw-file/bf0ff59095c9/sub/some%20text%25.txt' content-type content-length content-disposition) >getoutput.txt
16298
0eefd118f27e tests: fix shutdown race in test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents: 15446
diff changeset
    21
25472
4d2b9b304ad0 tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents: 22046
diff changeset
    22
  $ killdaemons.py hg.pid
16298
0eefd118f27e tests: fix shutdown race in test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents: 15446
diff changeset
    23
12441
cb1e33a41d13 tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents: 11617
diff changeset
    24
  $ cat getoutput.txt
cb1e33a41d13 tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents: 11617
diff changeset
    25
  200 Script output follows
15004
d06b9c55ddab hgweb: raw file mimetype guessing configurable, off by default (BC) (issue2923)
Matt Mackall <mpm@selenic.com>
parents: 13962
diff changeset
    26
  content-type: application/binary
d06b9c55ddab hgweb: raw file mimetype guessing configurable, off by default (BC) (issue2923)
Matt Mackall <mpm@selenic.com>
parents: 13962
diff changeset
    27
  content-length: 157
16973
3d71807c3a48 tests: use a different evil name in test-hgweb-raw.t
Mads Kiilerich <mads@kiilerich.com>
parents: 16913
diff changeset
    28
  content-disposition: inline; filename="some text%.txt"
15004
d06b9c55ddab hgweb: raw file mimetype guessing configurable, off by default (BC) (issue2923)
Matt Mackall <mpm@selenic.com>
parents: 13962
diff changeset
    29
  
d06b9c55ddab hgweb: raw file mimetype guessing configurable, off by default (BC) (issue2923)
Matt Mackall <mpm@selenic.com>
parents: 13962
diff changeset
    30
  This is just some random text
d06b9c55ddab hgweb: raw file mimetype guessing configurable, off by default (BC) (issue2923)
Matt Mackall <mpm@selenic.com>
parents: 13962
diff changeset
    31
  that will go inside the file and take a few lines.
d06b9c55ddab hgweb: raw file mimetype guessing configurable, off by default (BC) (issue2923)
Matt Mackall <mpm@selenic.com>
parents: 13962
diff changeset
    32
  It is very boring to read, but computers don't
d06b9c55ddab hgweb: raw file mimetype guessing configurable, off by default (BC) (issue2923)
Matt Mackall <mpm@selenic.com>
parents: 13962
diff changeset
    33
  care about things like that.
d06b9c55ddab hgweb: raw file mimetype guessing configurable, off by default (BC) (issue2923)
Matt Mackall <mpm@selenic.com>
parents: 13962
diff changeset
    34
  $ cat access.log error.log
36865
422be99519e5 hgweb: remove support for short query string based aliases (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31028
diff changeset
    35
  $LOCALIP - - [$LOGDATE$] "GET /raw-file/bf0ff59095c9/sub/some%20text%25.txt HTTP/1.1" 200 - (glob)
15004
d06b9c55ddab hgweb: raw file mimetype guessing configurable, off by default (BC) (issue2923)
Matt Mackall <mpm@selenic.com>
parents: 13962
diff changeset
    36
d06b9c55ddab hgweb: raw file mimetype guessing configurable, off by default (BC) (issue2923)
Matt Mackall <mpm@selenic.com>
parents: 13962
diff changeset
    37
  $ rm access.log error.log
d06b9c55ddab hgweb: raw file mimetype guessing configurable, off by default (BC) (issue2923)
Matt Mackall <mpm@selenic.com>
parents: 13962
diff changeset
    38
  $ hg serve -p $HGPORT -A access.log -E error.log -d --pid-file=hg.pid \
d06b9c55ddab hgweb: raw file mimetype guessing configurable, off by default (BC) (issue2923)
Matt Mackall <mpm@selenic.com>
parents: 13962
diff changeset
    39
  > --config web.guessmime=True
d06b9c55ddab hgweb: raw file mimetype guessing configurable, off by default (BC) (issue2923)
Matt Mackall <mpm@selenic.com>
parents: 13962
diff changeset
    40
d06b9c55ddab hgweb: raw file mimetype guessing configurable, off by default (BC) (issue2923)
Matt Mackall <mpm@selenic.com>
parents: 13962
diff changeset
    41
  $ cat hg.pid >> $DAEMON_PIDS
36865
422be99519e5 hgweb: remove support for short query string based aliases (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31028
diff changeset
    42
  $ (get-with-headers.py localhost:$HGPORT 'raw-file/bf0ff59095c9/sub/some%20text%25.txt' content-type content-length content-disposition) >getoutput.txt
25472
4d2b9b304ad0 tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents: 22046
diff changeset
    43
  $ killdaemons.py hg.pid
16298
0eefd118f27e tests: fix shutdown race in test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents: 15446
diff changeset
    44
15004
d06b9c55ddab hgweb: raw file mimetype guessing configurable, off by default (BC) (issue2923)
Matt Mackall <mpm@selenic.com>
parents: 13962
diff changeset
    45
  $ cat getoutput.txt
d06b9c55ddab hgweb: raw file mimetype guessing configurable, off by default (BC) (issue2923)
Matt Mackall <mpm@selenic.com>
parents: 13962
diff changeset
    46
  200 Script output follows
12441
cb1e33a41d13 tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents: 11617
diff changeset
    47
  content-type: text/plain; charset="ascii"
cb1e33a41d13 tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents: 11617
diff changeset
    48
  content-length: 157
16973
3d71807c3a48 tests: use a different evil name in test-hgweb-raw.t
Mads Kiilerich <mads@kiilerich.com>
parents: 16913
diff changeset
    49
  content-disposition: inline; filename="some text%.txt"
12441
cb1e33a41d13 tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents: 11617
diff changeset
    50
  
cb1e33a41d13 tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents: 11617
diff changeset
    51
  This is just some random text
cb1e33a41d13 tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents: 11617
diff changeset
    52
  that will go inside the file and take a few lines.
cb1e33a41d13 tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents: 11617
diff changeset
    53
  It is very boring to read, but computers don't
cb1e33a41d13 tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents: 11617
diff changeset
    54
  care about things like that.
cb1e33a41d13 tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents: 11617
diff changeset
    55
  $ cat access.log error.log
36865
422be99519e5 hgweb: remove support for short query string based aliases (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31028
diff changeset
    56
  $LOCALIP - - [$LOGDATE$] "GET /raw-file/bf0ff59095c9/sub/some%20text%25.txt HTTP/1.1" 200 - (glob)
2532
84655f721f39 Add a test for getting raw files via the web UI.
Eric Hopper <hopper@omnifarious.org>
parents:
diff changeset
    57
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16496
diff changeset
    58
  $ cd ..