view tests/test-mq-qclone-http @ 11772:423ece53380e stable

test-dispatch: Make test of removed working directory work on AIX (issue2315) AIX sh won't delete its own working directory. Removing it from another process works. Also hide the actual OS error message - operating systems returns different errors when getcwd fails.
author Mads Kiilerich <mads@kiilerich.com>
date Mon, 09 Aug 2010 21:43:39 +0200
parents 662b0f9eb148
children
line wrap: on
line source

#! /bin/sh

echo "[extensions]" >> $HGRCPATH
echo "mq=" >> $HGRCPATH

mkdir webdir
cd webdir

hg init a
hg --cwd a qinit -c
echo a > a/a
hg --cwd a ci -A -m a
echo b > a/b
hg --cwd a addremove
hg --cwd a qnew -f b.patch
hg --cwd a qcommit -m b.patch

hg --cwd a log --template "{desc}\n"
hg --cwd a/.hg/patches log --template "{desc}\n"

root=`pwd`

cd ..

echo % test with recursive collection

cat > collections.conf <<EOF
[paths]
/=$root/**
EOF

hg serve -p $HGPORT -d --pid-file=hg.pid --webdir-conf collections.conf \
    -A access-paths.log -E error-paths-1.log
cat hg.pid >> $DAEMON_PIDS

"$TESTDIR/get-with-headers.py" localhost:$HGPORT '/?style=raw'

hg qclone http://localhost:$HGPORT/a b
hg --cwd b log --template "{desc}\n"
hg --cwd b qpush -a
hg --cwd b log --template "{desc}\n"

echo % test with normal collection

cat > collections1.conf <<EOF
[paths]
/=$root/*
EOF

hg serve -p $HGPORT1 -d --pid-file=hg.pid --webdir-conf collections1.conf \
    -A access-paths.log -E error-paths-1.log
cat hg.pid >> $DAEMON_PIDS

"$TESTDIR/get-with-headers.py" localhost:$HGPORT1 '/?style=raw'

hg qclone http://localhost:$HGPORT1/a c
hg --cwd c log --template "{desc}\n"
hg --cwd c qpush -a
hg --cwd c log --template "{desc}\n"

echo % test with old-style collection

cat > collections2.conf <<EOF
[collections]
$root=$root
EOF

hg serve -p $HGPORT2 -d --pid-file=hg.pid --webdir-conf collections2.conf \
    -A access-paths.log -E error-paths-1.log
cat hg.pid >> $DAEMON_PIDS

"$TESTDIR/get-with-headers.py" localhost:$HGPORT2 '/?style=raw'

hg qclone http://localhost:$HGPORT2/a d
hg --cwd d log --template "{desc}\n"
hg --cwd d qpush -a
hg --cwd d log --template "{desc}\n"

echo '% test --mq works and uses correct repository config'
hg --cwd d outgoing --mq | sed "s|$HGPORT2|\$HGPORT2|"
hg --cwd d log --mq --template '{rev} {desc|firstline}\n'