view tests/test-convert-p4 @ 15372:695ac6aca77f stable

check-code: fix issues with finding patterns in unified tests, fix tests - old-style patterns without ^ were getting improperly anchored - finditer was matching against beginning of line poorly - \s was matching newlines - [^x] was matching newlines so we: - remove earlier hacks for multiline matching - fix unified test anchoring by adding .* - replace \s with [ \t] - replace [^x] with [^\nx] - force all matches into multiline mode so ^ anchors work This uncovers a number of test issues that are then repaired.
author Matt Mackall <mpm@selenic.com>
date Thu, 27 Oct 2011 17:22:04 -0500
parents d4d4da54ab05
children
line wrap: on
line source

#!/bin/sh

"$TESTDIR/hghave" p4 || exit 80

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

echo % create p4 depot
P4ROOT=`pwd`/depot; export P4ROOT
P4AUDIT=$P4ROOT/audit; export P4AUDIT
P4JOURNAL=$P4ROOT/journal; export P4JOURNAL
P4LOG=$P4ROOT/log; export P4LOG
P4PORT=localhost:16661; export P4PORT
P4DEBUG=1; export P4DEBUG

echo % start the p4 server
[ ! -d $P4ROOT ] && mkdir $P4ROOT
p4d -f -J off >$P4ROOT/stdout 2>$P4ROOT/stderr &
trap "echo % stop the p4 server ; p4 admin stop" EXIT

# wait for the server to initialize
while ! p4 ; do
   sleep 1
done >/dev/null 2>/dev/null

echo % create a client spec
P4CLIENT=hg-p4-import; export P4CLIENT
DEPOTPATH=//depot/test-mercurial-import/...
p4 client -o | sed '/^View:/,$ d' >p4client
echo View: >>p4client
echo " $DEPOTPATH //$P4CLIENT/..." >>p4client
p4 client -i <p4client

echo % populate the depot
echo a > a
mkdir b
echo c > b/c
p4 add a b/c
p4 submit -d initial

echo % change some files
p4 edit a
echo aa >> a
p4 submit -d "change a"

p4 edit b/c
echo cc >> b/c
p4 submit -d "change b/c"

echo % convert
hg convert -s p4 $DEPOTPATH dst
hg -R dst log --template 'rev={rev} desc="{desc}" tags="{tags}" files="{files}"\n'

echo % change some files
p4 edit a b/c
echo aaa >> a
echo ccc >> b/c
p4 submit -d "change a b/c"

echo % convert again
hg convert -s p4 $DEPOTPATH dst
hg -R dst log --template 'rev={rev} desc="{desc}" tags="{tags}" files="{files}"\n'

echo % interesting names
echo dddd > "d d"
mkdir " e"
echo fff >" e/ f"
p4 add "d d" " e/ f"
p4 submit -d "add d e f"

echo % convert again
hg convert -s p4 $DEPOTPATH dst
hg -R dst log --template 'rev={rev} desc="{desc}" tags="{tags}" files="{files}"\n'