sapling/tests/test-http.t
Sean Farley a759c02688 init: fix default hg breakage by returning the right type
Originally, I copied the logic for the file scheme which calls
_peerlookup(path) but in mercurial/hg.py they have:

    try:
        return thing(path)
    except TypeError:
        return thing

So, our http(s) scheme broke default Mercurial because I tried returning
thing(path) instead of just thing. A test has been added to catch this.
2015-07-17 11:25:00 -07:00

45 lines
1.1 KiB
Perl

#require serve
$ hg init test
$ cd test
$ echo foo>foo
$ mkdir foo.d foo.d/bAr.hg.d foo.d/baR.d.hg
$ echo foo>foo.d/foo
$ echo bar>foo.d/bAr.hg.d/BaR
$ echo bar>foo.d/baR.d.hg/bAR
$ hg commit -A -m 1
adding foo
adding foo.d/bAr.hg.d/BaR
adding foo.d/baR.d.hg/bAR
adding foo.d/foo
$ hg serve -p $HGPORT -d --pid-file=../hg1.pid -E ../error.log
$ hg --config server.uncompressed=False serve -p $HGPORT1 -d --pid-file=../hg2.pid
Test server address cannot be reused
#if windows
$ hg serve -p $HGPORT1 2>&1
abort: cannot start server at ':$HGPORT1': * (glob)
[255]
#else
$ hg serve -p $HGPORT1 2>&1
abort: cannot start server at ':$HGPORT1': Address already in use
[255]
#endif
$ cd ..
$ cat hg1.pid hg2.pid >> $DAEMON_PIDS
Load commonly used test logic
$ . "$TESTDIR/testutil"
Make sure that clone regular mercurial repos over http doesn't break
$ hg clone http://localhost:$HGPORT/ copy 2>&1
requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 4 changes to 4 files
updating to branch default
4 files updated, 0 files merged, 0 files removed, 0 files unresolved