view tests/test-mq-qnew @ 12403:ba8850911703

test-serve: fix test for binding to low named port on solaris Solaris do not know the service called http, so we use echo instead. Trying to define KILLQUIETLY when running the hgserve function didn't set the value within the function. Now we set the variable before calling the function.
author Mads Kiilerich <mads@kiilerich.com>
date Sat, 25 Sep 2010 02:35:32 +0200
parents a5903e612f07
children
line wrap: on
line source

#!/bin/sh

catpatch() {
    cat $1 | sed -e "s/^\(# Parent \).*/\1/"
}

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

runtest() {
    hg init mq
    cd mq

    echo a > a
    hg ci -Ama

    echo '% qnew should refuse bad patch names'
    hg qnew series
    hg qnew status
    hg qnew guards
    hg qnew .hgignore
    hg qnew .mqfoo
    hg qnew 'foo#bar'
    hg qnew 'foo:bar'

    hg qinit -c

    echo '% qnew with name containing slash'
    hg qnew foo/bar.patch
    hg qseries
    hg qpop
    hg qdelete foo/bar.patch

    echo '% qnew with uncommitted changes'
    echo a > somefile
    hg add somefile
    hg qnew uncommitted.patch
    hg st
    hg qseries

    echo '% qnew implies add'
    hg -R .hg/patches st

    echo '% qnew missing'
    hg qnew missing.patch missing

    echo '% qnew -m'
    hg qnew -m 'foo bar' mtest.patch
    catpatch .hg/patches/mtest.patch

    echo '% qnew twice'
    hg qnew first.patch
    hg qnew first.patch

    touch ../first.patch
    hg qimport ../first.patch

    echo '% qnew -f from a subdirectory'
    hg qpop -a
    mkdir d
    cd d
    echo b > b
    hg ci -Am t
    echo b >> b
    hg st
    hg qnew -g -f p
    catpatch ../.hg/patches/p

    echo '% qnew -u with no username configured'
    HGUSER= hg qnew -u blue red
    catpatch ../.hg/patches/red

    echo '% qnew -e -u with no username configured'
    HGUSER= hg qnew -e -u chartreuse fucsia
    catpatch ../.hg/patches/fucsia

    echo '% fail when trying to import a merge'
    hg init merge
    cd merge
    touch a
    hg ci -Am null
    echo a >> a
    hg ci -m a
    hg up -r 0
    echo b >> a
    hg ci -m b
    hg merge -f 1
    hg resolve --mark a
    hg qnew -f merge

    cd ../../..
    rm -r mq
}


echo '%%% plain headers'

echo "[mq]" >> $HGRCPATH
echo "plain=true" >> $HGRCPATH

mkdir sandbox
(cd sandbox ; runtest)
rm -r sandbox


echo '%%% hg headers'

echo "plain=false" >> $HGRCPATH

mkdir sandbox
(cd sandbox ; runtest)
rm -r sandbox


exit 0