diff tests/ignore_and_prioritize.t @ 46:e695060c716e

Tests for intended future behaviour of alternative groups and prioritizations
author Marcin Kasperski <Marcin.Kasperski@mekk.waw.pl>
date Sun, 25 Sep 2016 09:44:23 +0200
parents a1fb32ff4532
children 00995da9c204
line wrap: on
line diff
--- a/tests/ignore_and_prioritize.t	Sun Sep 25 09:35:56 2016 +0200
+++ b/tests/ignore_and_prioritize.t	Sun Sep 25 09:44:23 2016 +0200
@@ -1,2 +1,163 @@
 
-TODO: testing priorities and skips
\ No newline at end of file
+Let's test all_paths operations.
+
+Some locations used during testing:
+
+  $ WORK_DIR=${WORK_DIR-`pwd`/work}
+  $ rm -rf $WORK_DIR
+
+  $ export BASE=$WORK_DIR/base
+  $ export REP1=$WORK_DIR/rep1
+  $ export REP2=$WORK_DIR/rep2
+  $ export REP3=$WORK_DIR/rep3
+
+First we need appropriate Mercurial configuration file (and variable
+which ensures it is used).
+
+  $ export HGRCPATH=$WORK_DIR/hgrc
+  $ mkdir -p $HGRCPATH
+
+  $ cat > $HGRCPATH/basic.rc << EOF
+  > [ui]
+  > username = Andy Default <default@nowhere.net>
+  > [extensions]
+  > mercurial_all_paths =
+  > [all_paths]
+  > ignore = unknown rep2
+  > prioritize = rep3 mystery rep1
+  > EOF
+
+We need some repositories to test.
+
+  $ hg init "$BASE"
+  $ hg init "$REP1"
+  $ hg init "$REP2"
+  $ hg init "$REP3"
+
+  $ cat > $BASE/.hg/hgrc << EOF
+  > [paths]
+  > remote1=$REP1
+  > remote2=$REP2
+  > remote3=$REP3
+  > EOF
+
+Let's test pushing
+
+  $ cat > $BASE/file.txt << EOF
+  > Some text
+  > EOF
+
+  $ hg --cwd $BASE add
+  adding file.txt
+  $ hg --cwd $BASE commit -m 'First'
+
+  $ hg --cwd $BASE pushall
+  pushing to */rep3 (glob)
+  searching for changes
+  adding changesets
+  adding manifests
+  adding file changes
+  added 1 changesets with 1 changes to 1 files
+
+  Skipping ignored rep2
+
+  pushing to */rep1 (glob)
+  searching for changes
+  adding changesets
+  adding manifests
+  adding file changes
+  added 1 changesets with 1 changes to 1 files
+
+  $ hg --cwd $REP1 log -T '{rev}: {desc}\n'
+  0: First
+
+  $ hg --cwd $REP2 log  -T '{rev}: {desc}\n'
+
+  $ hg --cwd $REP3 log  -T '{rev}: {desc}\n'
+  0: First
+
+Let's also test pulling 
+
+  $ hg --cwd $REP1 update
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+
+  $ cat > $REP1/rep1.txt << EOF
+  > Another text
+  > EOF
+
+  $ hg --cwd $REP1 add
+  adding rep1.txt
+  $ hg --cwd $REP1 commit -m "In repo1"
+
+
+  $ hg --cwd $REP2 update
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+
+  $ cat >> $REP2/file.txt << EOF
+  > From repo2…
+  > EOF
+
+  $ hg --cwd $REP2 add
+  $ hg --cwd $REP2 commit -m "In repo2"
+
+  $ hg --cwd $BASE incomingall
+  comparing with */rep3 (glob)
+  searching for changes
+  no changes found
+
+  Skipping ignored rep2
+  
+  comparing with */rep1 (glob)
+  searching for changes
+  changeset:   1:* (glob)
+  tag:         tip
+  user:        Andy Default <default@nowhere.net>
+  date:        .* (re)
+  summary:     In repo1
+
+  $ hg --cwd $BASE pullall
+  pulling from */rep3 (glob)
+  searching for changes
+  no changes found
+
+  Skipping ignored rep2
+  
+  pulling from */rep1 (glob)
+  searching for changes
+  adding changesets
+  adding manifests
+  adding file changes
+  added 1 changesets with 1 changes to 1 files
+  (run 'hg update' to get a working copy)
+
+  $ hg --cwd $BASE log  -T '{rev}: {desc}\n'
+  1: In repo1
+  0: First
+
+  $ hg --cwd $BASE outgoingall
+  comparing with */rep1 (glob)
+  searching for changes
+  changeset:   2:.* (re)
+  tag:         tip
+  parent:      0:.* (re)
+  user:        Andy Default <default@nowhere.net>
+  date:        .* (re)
+  summary:     In repo2
+  
+  Skipping ignored rep2
+  
+  comparing with */rep3 (glob)
+  searching for changes
+  changeset:   1:* (glob)
+  user:        Andy Default <default@nowhere.net>
+  date:        .* (re)
+  summary:     In repo1
+  
+  changeset:   2:* (glob)
+  tag:         tip
+  parent:      0:* (glob)
+  user:        Andy Default <default@nowhere.net>
+  date:        .* (re)
+  summary:     In repo2
+  
+