tests: unify test-purge
authorNicolas Dumazet <nicdumz.commits@gmail.com>
Mon, 30 Aug 2010 18:50:44 +0900
changeset 12122 9bab9ee901e8
parent 12121 8f258dd4ed02
child 12123 323292c2e566
tests: unify test-purge
tests/test-bisect.t
tests/test-churn.t
tests/test-impexp-branch.t
tests/test-incoming-outgoing.t
tests/test-inherit-mode.t
tests/test-purge
tests/test-purge.out
tests/test-purge.t
tests/test-rebuildstate.t
tests/test-relink.t
tests/test-remove-new.t
tests/test-remove.t
tests/test-rename-dir-merge.t
tests/test-rename.t
tests/test-requires.t
tests/test-resolve.t
tests/test-revert-flags.t
tests/test-revert-unknown.t
tests/test-revert.t
tests/test-revset.t
tests/test-strict.t
tests/test-up-local-change.t
--- a/tests/test-purge	Mon Aug 30 18:47:02 2010 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,138 +0,0 @@
-#!/bin/sh
-
-cat <<EOF >> $HGRCPATH
-[extensions]
-purge =
-EOF
-
-echo % init
-hg init t
-cd t
-
-echo % setup
-echo r1 > r1
-hg ci -qAmr1 -d'0 0'
-mkdir directory
-echo r2 > directory/r2
-hg ci -qAmr2 -d'1 0'
-echo 'ignored' > .hgignore
-hg ci -qAmr3 -d'2 0'
-
-echo % delete an empty directory
-mkdir empty_dir
-hg purge -p
-hg purge -v
-ls
-
-echo % delete an untracked directory
-mkdir untracked_dir
-touch untracked_dir/untracked_file1
-touch untracked_dir/untracked_file2
-hg purge -p
-hg purge -v
-ls
-
-echo % delete an untracked file
-touch untracked_file
-touch untracked_file_readonly
-python <<EOF
-import os, stat
-f= 'untracked_file_readonly'
-os.chmod(f, stat.S_IMODE(os.stat(f).st_mode) & ~stat.S_IWRITE)
-EOF
-hg purge -p
-hg purge -v
-ls
-
-echo % delete an untracked file in a tracked directory
-touch directory/untracked_file
-hg purge -p
-hg purge -v
-ls
-
-echo % delete nested directories
-mkdir -p untracked_directory/nested_directory
-hg purge -p
-hg purge -v
-ls
-
-echo % delete nested directories from a subdir
-mkdir -p untracked_directory/nested_directory
-cd directory
-hg purge -p
-hg purge -v
-cd ..
-ls
-
-echo % delete only part of the tree
-mkdir -p untracked_directory/nested_directory
-touch directory/untracked_file
-cd directory
-hg purge -p ../untracked_directory
-hg purge -v ../untracked_directory
-cd ..
-ls
-ls directory/untracked_file
-rm directory/untracked_file
-
-echo % skip ignored files if --all not specified
-touch ignored
-hg purge -p
-hg purge -v
-ls
-hg purge -p --all
-hg purge -v --all
-ls
-
-echo % abort with missing files until we support name mangling filesystems
-touch untracked_file
-rm r1
-# hide error messages to avoid changing the output when the text changes
-hg purge -p 2> /dev/null
-hg st
-
-hg purge -p
-hg purge -v 2> /dev/null
-hg st
-
-hg purge -v
-hg revert --all --quiet
-hg st -a
-
-echo '% tracked file in ignored directory (issue621)'
-echo directory >> .hgignore
-hg ci -m 'ignore directory'
-touch untracked_file
-hg purge -p
-hg purge -v
-
-echo % skip excluded files
-touch excluded_file
-hg purge -p -X excluded_file
-hg purge -v -X excluded_file
-ls
-rm excluded_file
-
-echo % skip files in excluded dirs
-mkdir excluded_dir
-touch excluded_dir/file
-hg purge -p -X excluded_dir
-hg purge -v -X excluded_dir
-ls
-ls excluded_dir
-rm -R excluded_dir
-
-echo % skip excluded empty dirs
-mkdir excluded_dir
-hg purge -p -X excluded_dir
-hg purge -v -X excluded_dir
-ls
-rmdir excluded_dir
-
-echo % skip patterns
-mkdir .svn
-touch .svn/foo
-mkdir directory/.svn
-touch directory/.svn/foo
-hg purge -p -X .svn -X '*/.svn'
-hg purge -p -X re:.*.svn
--- a/tests/test-purge.out	Mon Aug 30 18:47:02 2010 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-% init
-% setup
-% delete an empty directory
-empty_dir
-Removing directory empty_dir
-directory
-r1
-% delete an untracked directory
-untracked_dir/untracked_file1
-untracked_dir/untracked_file2
-Removing file untracked_dir/untracked_file1
-Removing file untracked_dir/untracked_file2
-Removing directory untracked_dir
-directory
-r1
-% delete an untracked file
-untracked_file
-untracked_file_readonly
-Removing file untracked_file
-Removing file untracked_file_readonly
-directory
-r1
-% delete an untracked file in a tracked directory
-directory/untracked_file
-Removing file directory/untracked_file
-directory
-r1
-% delete nested directories
-untracked_directory/nested_directory
-Removing directory untracked_directory/nested_directory
-Removing directory untracked_directory
-directory
-r1
-% delete nested directories from a subdir
-untracked_directory/nested_directory
-Removing directory untracked_directory/nested_directory
-Removing directory untracked_directory
-directory
-r1
-% delete only part of the tree
-untracked_directory/nested_directory
-Removing directory untracked_directory/nested_directory
-Removing directory untracked_directory
-directory
-r1
-directory/untracked_file
-% skip ignored files if --all not specified
-directory
-ignored
-r1
-ignored
-Removing file ignored
-directory
-r1
-% abort with missing files until we support name mangling filesystems
-untracked_file
-! r1
-? untracked_file
-untracked_file
-Removing file untracked_file
-! r1
-% tracked file in ignored directory (issue621)
-untracked_file
-Removing file untracked_file
-% skip excluded files
-directory
-excluded_file
-r1
-% skip files in excluded dirs
-directory
-excluded_dir
-r1
-file
-% skip excluded empty dirs
-directory
-excluded_dir
-r1
-% skip patterns
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-purge.t	Mon Aug 30 18:50:44 2010 +0900
@@ -0,0 +1,216 @@
+  $ cat <<EOF >> $HGRCPATH
+  > [extensions]
+  > purge =
+  > EOF
+
+init
+
+  $ hg init t
+  $ cd t
+
+setup
+
+  $ echo r1 > r1
+  $ hg ci -qAmr1 -d'0 0'
+  $ mkdir directory
+  $ echo r2 > directory/r2
+  $ hg ci -qAmr2 -d'1 0'
+  $ echo 'ignored' > .hgignore
+  $ hg ci -qAmr3 -d'2 0'
+
+delete an empty directory
+
+  $ mkdir empty_dir
+  $ hg purge -p
+  empty_dir
+  $ hg purge -v
+  Removing directory empty_dir
+  $ ls
+  directory
+  r1
+
+delete an untracked directory
+
+  $ mkdir untracked_dir
+  $ touch untracked_dir/untracked_file1
+  $ touch untracked_dir/untracked_file2
+  $ hg purge -p
+  untracked_dir/untracked_file1
+  untracked_dir/untracked_file2
+  $ hg purge -v
+  Removing file untracked_dir/untracked_file1
+  Removing file untracked_dir/untracked_file2
+  Removing directory untracked_dir
+  $ ls
+  directory
+  r1
+
+delete an untracked file
+
+  $ touch untracked_file
+  $ touch untracked_file_readonly
+  $ python <<EOF
+  > import os, stat
+  > f= 'untracked_file_readonly'
+  > os.chmod(f, stat.S_IMODE(os.stat(f).st_mode) & ~stat.S_IWRITE)
+  > EOF
+  $ hg purge -p
+  untracked_file
+  untracked_file_readonly
+  $ hg purge -v
+  Removing file untracked_file
+  Removing file untracked_file_readonly
+  $ ls
+  directory
+  r1
+
+delete an untracked file in a tracked directory
+
+  $ touch directory/untracked_file
+  $ hg purge -p
+  directory/untracked_file
+  $ hg purge -v
+  Removing file directory/untracked_file
+  $ ls
+  directory
+  r1
+
+delete nested directories
+
+  $ mkdir -p untracked_directory/nested_directory
+  $ hg purge -p
+  untracked_directory/nested_directory
+  $ hg purge -v
+  Removing directory untracked_directory/nested_directory
+  Removing directory untracked_directory
+  $ ls
+  directory
+  r1
+
+delete nested directories from a subdir
+
+  $ mkdir -p untracked_directory/nested_directory
+  $ cd directory
+  $ hg purge -p
+  untracked_directory/nested_directory
+  $ hg purge -v
+  Removing directory untracked_directory/nested_directory
+  Removing directory untracked_directory
+  $ cd ..
+  $ ls
+  directory
+  r1
+
+delete only part of the tree
+
+  $ mkdir -p untracked_directory/nested_directory
+  $ touch directory/untracked_file
+  $ cd directory
+  $ hg purge -p ../untracked_directory
+  untracked_directory/nested_directory
+  $ hg purge -v ../untracked_directory
+  Removing directory untracked_directory/nested_directory
+  Removing directory untracked_directory
+  $ cd ..
+  $ ls
+  directory
+  r1
+  $ ls directory/untracked_file
+  directory/untracked_file
+  $ rm directory/untracked_file
+
+skip ignored files if --all not specified
+
+  $ touch ignored
+  $ hg purge -p
+  $ hg purge -v
+  $ ls
+  directory
+  ignored
+  r1
+  $ hg purge -p --all
+  ignored
+  $ hg purge -v --all
+  Removing file ignored
+  $ ls
+  directory
+  r1
+
+abort with missing files until we support name mangling filesystems
+
+  $ touch untracked_file
+  $ rm r1
+
+hide error messages to avoid changing the output when the text changes
+
+  $ hg purge -p 2> /dev/null
+  untracked_file
+  $ hg st
+  ! r1
+  ? untracked_file
+
+  $ hg purge -p
+  untracked_file
+  $ hg purge -v 2> /dev/null
+  Removing file untracked_file
+  $ hg st
+  ! r1
+
+  $ hg purge -v
+  $ hg revert --all --quiet
+  $ hg st -a
+
+tracked file in ignored directory (issue621)
+
+  $ echo directory >> .hgignore
+  $ hg ci -m 'ignore directory'
+  $ touch untracked_file
+  $ hg purge -p
+  untracked_file
+  $ hg purge -v
+  Removing file untracked_file
+
+skip excluded files
+
+  $ touch excluded_file
+  $ hg purge -p -X excluded_file
+  $ hg purge -v -X excluded_file
+  $ ls
+  directory
+  excluded_file
+  r1
+  $ rm excluded_file
+
+skip files in excluded dirs
+
+  $ mkdir excluded_dir
+  $ touch excluded_dir/file
+  $ hg purge -p -X excluded_dir
+  $ hg purge -v -X excluded_dir
+  $ ls
+  directory
+  excluded_dir
+  r1
+  $ ls excluded_dir
+  file
+  $ rm -R excluded_dir
+
+skip excluded empty dirs
+
+  $ mkdir excluded_dir
+  $ hg purge -p -X excluded_dir
+  $ hg purge -v -X excluded_dir
+  $ ls
+  directory
+  excluded_dir
+  r1
+  $ rmdir excluded_dir
+
+skip patterns
+
+  $ mkdir .svn
+  $ touch .svn/foo
+  $ mkdir directory/.svn
+  $ touch directory/.svn/foo
+  $ hg purge -p -X .svn -X '*/.svn'
+  $ hg purge -p -X re:.*.svn