changeset 5933:28a79c259fcf

qrecord: add tests
author Kirill Smelkov <kirr@mns.spb.ru>
date Wed, 23 Jan 2008 21:49:44 +0300
parents b014ff3fdaeb
children 00dfc810dae4
files tests/test-qrecord tests/test-qrecord.out
diffstat 2 files changed, 307 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-qrecord	Wed Jan 23 21:49:44 2008 +0300
@@ -0,0 +1,100 @@
+#!/bin/sh
+
+echo "[ui]" >> $HGRCPATH
+echo "interactive=true" >> $HGRCPATH
+echo "[extensions]"     >> $HGRCPATH
+echo "record="          >> $HGRCPATH
+
+echo "% help (no mq, so no qrecord)"
+
+hg help qrecord
+
+echo "mq="              >> $HGRCPATH
+
+echo "% help (mq present)"
+
+hg help qrecord
+
+hg init a
+cd a
+
+echo % base commit
+
+cat > 1.txt <<EOF
+1
+2
+3
+4
+5
+EOF
+cat > 2.txt <<EOF
+a
+b
+c
+d
+e
+f
+EOF
+mkdir dir
+cat > dir/a.txt <<EOF
+hello world
+
+someone
+up
+there
+loves
+me
+EOF
+
+hg add 1.txt 2.txt dir/a.txt
+hg commit -d '0 0' -m 'initial checkin'
+
+echo % changing files 
+
+sed -e 's/2/2 2/;s/4/4 4/' 1.txt > 1.txt.new
+sed -e 's/b/b b/' 2.txt > 2.txt.new
+sed -e 's/hello world/hello world!/' dir/a.txt > dir/a.txt.new
+
+mv -f 1.txt.new 1.txt
+mv -f 2.txt.new 2.txt
+mv -f dir/a.txt.new dir/a.txt
+
+echo % whole diff
+
+hg diff --nodates
+
+echo % qrecord a.patch
+
+hg qrecord -d '0 0' -m aaa a.patch <<EOF
+y
+y
+n
+y
+y
+n
+EOF
+
+echo
+echo % "after qrecord a.patch 'tip'"
+hg tip -p
+echo
+echo % "after qrecord a.patch 'diff'"
+hg diff --nodates
+
+echo % qrecord b.patch
+hg qrecord -d '0 0' -m bbb b.patch <<EOF
+y
+y
+y
+y
+EOF
+
+echo
+echo % "after qrecord b.patch 'tip'"
+hg tip -p
+echo
+echo % "after qrecord b.patch 'diff'"
+hg diff --nodates
+
+echo
+echo % --- end ---
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-qrecord.out	Wed Jan 23 21:49:44 2008 +0300
@@ -0,0 +1,207 @@
+% help (no mq, so no qrecord)
+hg: unknown command 'qrecord'
+Mercurial Distributed SCM
+
+basic commands:
+
+ add        add the specified files on the next commit
+ annotate   show changeset information per file line
+ clone      make a copy of an existing repository
+ commit     commit the specified files or all outstanding changes
+ diff       diff repository (or selected files)
+ export     dump the header and diffs for one or more changesets
+ init       create a new repository in the given directory
+ log        show revision history of entire repository or files
+ merge      merge working directory with another revision
+ parents    show the parents of the working dir or revision
+ pull       pull changes from the specified source
+ push       push changes to the specified destination
+ remove     remove the specified files on the next commit
+ serve      export the repository via HTTP
+ status     show changed files in the working directory
+ update     update working directory
+
+use "hg help" for the full list of commands or "hg -v" for details
+% help (mq present)
+hg qrecord [OPTION]... PATCH [FILE]...
+
+interactively record a new patch
+
+    see 'hg help qnew' & 'hg help record' for more information and usage
+
+options:
+
+ -e --edit         edit commit message
+ -g --git          use git extended diff format
+ -I --include      include names matching the given patterns
+ -X --exclude      exclude names matching the given patterns
+ -m --message      use <text> as commit message
+ -l --logfile      read commit message from <file>
+ -U --currentuser  add "From: <current user>" to patch
+ -u --user         add "From: <given user>" to patch
+ -D --currentdate  add "Date: <current date>" to patch
+ -d --date         add "Date: <given date>" to patch
+
+use "hg -v help qrecord" to show global options
+% base commit
+% changing files
+% whole diff
+diff -r 1057167b20ef 1.txt
+--- a/1.txt
++++ b/1.txt
+@@ -1,5 +1,5 @@
+ 1
+-2
++2 2
+ 3
+-4
++4 4
+ 5
+diff -r 1057167b20ef 2.txt
+--- a/2.txt
++++ b/2.txt
+@@ -1,5 +1,5 @@
+ a
+-b
++b b
+ c
+ d
+ e
+diff -r 1057167b20ef dir/a.txt
+--- a/dir/a.txt
++++ b/dir/a.txt
+@@ -1,4 +1,4 @@
+-hello world
++hello world!
+ 
+ someone
+ up
+% qrecord a.patch
+diff --git a/1.txt b/1.txt
+2 hunks, 4 lines changed
+examine changes to '1.txt'? [Ynsfdaq?]  @@ -1,3 +1,3 @@
+ 1
+-2
++2 2
+ 3
+record this change to '1.txt'? [Ynsfdaq?]  @@ -3,3 +3,3 @@
+ 3
+-4
++4 4
+ 5
+record this change to '1.txt'? [Ynsfdaq?]  diff --git a/2.txt b/2.txt
+1 hunks, 2 lines changed
+examine changes to '2.txt'? [Ynsfdaq?]  @@ -1,5 +1,5 @@
+ a
+-b
++b b
+ c
+ d
+ e
+record this change to '2.txt'? [Ynsfdaq?]  diff --git a/dir/a.txt b/dir/a.txt
+1 hunks, 2 lines changed
+examine changes to 'dir/a.txt'? [Ynsfdaq?]  
+% after qrecord a.patch 'tip'
+changeset:   1:5d1ca63427ee
+tag:         qtip
+tag:         tip
+tag:         a.patch
+tag:         qbase
+user:        test
+date:        Thu Jan 01 00:00:00 1970 +0000
+summary:     aaa
+
+diff -r 1057167b20ef -r 5d1ca63427ee 1.txt
+--- a/1.txt	Thu Jan 01 00:00:00 1970 +0000
++++ b/1.txt	Thu Jan 01 00:00:00 1970 +0000
+@@ -1,5 +1,5 @@
+ 1
+-2
++2 2
+ 3
+ 4
+ 5
+diff -r 1057167b20ef -r 5d1ca63427ee 2.txt
+--- a/2.txt	Thu Jan 01 00:00:00 1970 +0000
++++ b/2.txt	Thu Jan 01 00:00:00 1970 +0000
+@@ -1,5 +1,5 @@
+ a
+-b
++b b
+ c
+ d
+ e
+
+
+% after qrecord a.patch 'diff'
+diff -r 5d1ca63427ee 1.txt
+--- a/1.txt
++++ b/1.txt
+@@ -1,5 +1,5 @@
+ 1
+ 2 2
+ 3
+-4
++4 4
+ 5
+diff -r 5d1ca63427ee dir/a.txt
+--- a/dir/a.txt
++++ b/dir/a.txt
+@@ -1,4 +1,4 @@
+-hello world
++hello world!
+ 
+ someone
+ up
+% qrecord b.patch
+diff --git a/1.txt b/1.txt
+1 hunks, 2 lines changed
+examine changes to '1.txt'? [Ynsfdaq?]  @@ -1,5 +1,5 @@
+ 1
+ 2 2
+ 3
+-4
++4 4
+ 5
+record this change to '1.txt'? [Ynsfdaq?]  diff --git a/dir/a.txt b/dir/a.txt
+1 hunks, 2 lines changed
+examine changes to 'dir/a.txt'? [Ynsfdaq?]  @@ -1,4 +1,4 @@
+-hello world
++hello world!
+ 
+ someone
+ up
+record this change to 'dir/a.txt'? [Ynsfdaq?]  
+% after qrecord b.patch 'tip'
+changeset:   2:b056198bf878
+tag:         qtip
+tag:         tip
+tag:         b.patch
+user:        test
+date:        Thu Jan 01 00:00:00 1970 +0000
+summary:     bbb
+
+diff -r 5d1ca63427ee -r b056198bf878 1.txt
+--- a/1.txt	Thu Jan 01 00:00:00 1970 +0000
++++ b/1.txt	Thu Jan 01 00:00:00 1970 +0000
+@@ -1,5 +1,5 @@
+ 1
+ 2 2
+ 3
+-4
++4 4
+ 5
+diff -r 5d1ca63427ee -r b056198bf878 dir/a.txt
+--- a/dir/a.txt	Thu Jan 01 00:00:00 1970 +0000
++++ b/dir/a.txt	Thu Jan 01 00:00:00 1970 +0000
+@@ -1,4 +1,4 @@
+-hello world
++hello world!
+ 
+ someone
+ up
+
+
+% after qrecord b.patch 'diff'
+
+% --- end ---