tests/test-extension.t
changeset 35393 4441705b7111
parent 34948 ff178743e59b
child 35773 eb878d863195
equal deleted inserted replaced
35392:5feb782c7a95 35393:4441705b7111
   178   > def extsetup():
   178   > def extsetup():
   179   >     print('ambigabs.s=%s' % ambigabs.s)
   179   >     print('ambigabs.s=%s' % ambigabs.s)
   180   > EOF
   180   > EOF
   181   $ (PYTHONPATH=${PYTHONPATH}${PATHSEP}${TESTTMP}/libroot; hg --config extensions.loadabs=loadabs.py root)
   181   $ (PYTHONPATH=${PYTHONPATH}${PATHSEP}${TESTTMP}/libroot; hg --config extensions.loadabs=loadabs.py root)
   182   ambigabs.s=libroot/ambig.py
   182   ambigabs.s=libroot/ambig.py
   183   $TESTTMP/a (glob)
   183   $TESTTMP/a
   184 
   184 
   185 #if no-py3k
   185 #if no-py3k
   186   $ cat > $TESTTMP/libroot/mod/ambigrel.py <<EOF
   186   $ cat > $TESTTMP/libroot/mod/ambigrel.py <<EOF
   187   > import ambig # should load "libroot/mod/ambig.py"
   187   > import ambig # should load "libroot/mod/ambig.py"
   188   > s = ambig.s
   188   > s = ambig.s
   192   > def extsetup():
   192   > def extsetup():
   193   >     print('ambigrel.s=%s' % ambigrel.s)
   193   >     print('ambigrel.s=%s' % ambigrel.s)
   194   > EOF
   194   > EOF
   195   $ (PYTHONPATH=${PYTHONPATH}${PATHSEP}${TESTTMP}/libroot; hg --config extensions.loadrel=loadrel.py root)
   195   $ (PYTHONPATH=${PYTHONPATH}${PATHSEP}${TESTTMP}/libroot; hg --config extensions.loadrel=loadrel.py root)
   196   ambigrel.s=libroot/mod/ambig.py
   196   ambigrel.s=libroot/mod/ambig.py
   197   $TESTTMP/a (glob)
   197   $TESTTMP/a
   198 #endif
   198 #endif
   199 
   199 
   200 Check absolute/relative import of extension specific modules
   200 Check absolute/relative import of extension specific modules
   201 
   201 
   202   $ mkdir $TESTTMP/extroot
   202   $ mkdir $TESTTMP/extroot
   243   (extroot) from extroot.bar import *: this is extroot.bar
   243   (extroot) from extroot.bar import *: this is extroot.bar
   244   (extroot) import extroot.sub1.baz: this is extroot.sub1.baz
   244   (extroot) import extroot.sub1.baz: this is extroot.sub1.baz
   245   (extroot) import extroot: this is extroot.__init__
   245   (extroot) import extroot: this is extroot.__init__
   246   (extroot) from extroot.bar import s: this is extroot.bar
   246   (extroot) from extroot.bar import s: this is extroot.bar
   247   (extroot) import extroot.bar in func(): this is extroot.bar
   247   (extroot) import extroot.bar in func(): this is extroot.bar
   248   $TESTTMP/a (glob)
   248   $TESTTMP/a
   249 
   249 
   250 #if no-py3k
   250 #if no-py3k
   251   $ rm "$TESTTMP"/extroot/foo.*
   251   $ rm "$TESTTMP"/extroot/foo.*
   252   $ rm -Rf "$TESTTMP/extroot/__pycache__"
   252   $ rm -Rf "$TESTTMP/extroot/__pycache__"
   253   $ cat > $TESTTMP/extroot/foo.py <<EOF
   253   $ cat > $TESTTMP/extroot/foo.py <<EOF
   275   (extroot) from bar import *: this is extroot.bar
   275   (extroot) from bar import *: this is extroot.bar
   276   (extroot) import sub1.baz: this is extroot.sub1.baz
   276   (extroot) import sub1.baz: this is extroot.sub1.baz
   277   (extroot) import sub1: this is extroot.sub1.__init__
   277   (extroot) import sub1: this is extroot.sub1.__init__
   278   (extroot) from bar import s: this is extroot.bar
   278   (extroot) from bar import s: this is extroot.bar
   279   (extroot) import bar in func(): this is extroot.bar
   279   (extroot) import bar in func(): this is extroot.bar
   280   $TESTTMP/a (glob)
   280   $TESTTMP/a
   281 #endif
   281 #endif
   282 
   282 
   283 #if demandimport
   283 #if demandimport
   284 
   284 
   285 Examine whether module loading is delayed until actual referring, even
   285 Examine whether module loading is delayed until actual referring, even
  1223 
  1223 
  1224   $ cat > hgext/forest.py <<EOF
  1224   $ cat > hgext/forest.py <<EOF
  1225   > cmdtable = None
  1225   > cmdtable = None
  1226   > EOF
  1226   > EOF
  1227   $ hg --config extensions.path=./path.py help foo > /dev/null
  1227   $ hg --config extensions.path=./path.py help foo > /dev/null
  1228   warning: error finding commands in $TESTTMP/hgext/forest.py (glob)
  1228   warning: error finding commands in $TESTTMP/hgext/forest.py
  1229   abort: no such help topic: foo
  1229   abort: no such help topic: foo
  1230   (try 'hg help --keyword foo')
  1230   (try 'hg help --keyword foo')
  1231   [255]
  1231   [255]
  1232 
  1232 
  1233   $ cat > throw.py <<EOF
  1233   $ cat > throw.py <<EOF
  1501   adding a
  1501   adding a
  1502   $ echo '[extensions]' >> src/.hg/hgrc
  1502   $ echo '[extensions]' >> src/.hg/hgrc
  1503   $ echo '# enable extension locally' >> src/.hg/hgrc
  1503   $ echo '# enable extension locally' >> src/.hg/hgrc
  1504   $ echo "reposetuptest = $TESTTMP/reposetuptest.py" >> src/.hg/hgrc
  1504   $ echo "reposetuptest = $TESTTMP/reposetuptest.py" >> src/.hg/hgrc
  1505   $ hg -R src status
  1505   $ hg -R src status
  1506   reposetup() for $TESTTMP/reposetup-test/src (glob)
  1506   reposetup() for $TESTTMP/reposetup-test/src
  1507   reposetup() for $TESTTMP/reposetup-test/src (glob) (chg !)
  1507   reposetup() for $TESTTMP/reposetup-test/src (chg !)
  1508 
  1508 
  1509   $ hg clone -U src clone-dst1
  1509   $ hg clone -U src clone-dst1
  1510   reposetup() for $TESTTMP/reposetup-test/src (glob)
  1510   reposetup() for $TESTTMP/reposetup-test/src
  1511   $ hg init push-dst1
  1511   $ hg init push-dst1
  1512   $ hg -q -R src push push-dst1
  1512   $ hg -q -R src push push-dst1
  1513   reposetup() for $TESTTMP/reposetup-test/src (glob)
  1513   reposetup() for $TESTTMP/reposetup-test/src
  1514   $ hg init pull-src1
  1514   $ hg init pull-src1
  1515   $ hg -q -R pull-src1 pull src
  1515   $ hg -q -R pull-src1 pull src
  1516   reposetup() for $TESTTMP/reposetup-test/src (glob)
  1516   reposetup() for $TESTTMP/reposetup-test/src
  1517 
  1517 
  1518   $ cat <<EOF >> $HGRCPATH
  1518   $ cat <<EOF >> $HGRCPATH
  1519   > [extensions]
  1519   > [extensions]
  1520   > # disable extension globally and explicitly
  1520   > # disable extension globally and explicitly
  1521   > reposetuptest = !
  1521   > reposetuptest = !
  1522   > EOF
  1522   > EOF
  1523   $ hg clone -U src clone-dst2
  1523   $ hg clone -U src clone-dst2
  1524   reposetup() for $TESTTMP/reposetup-test/src (glob)
  1524   reposetup() for $TESTTMP/reposetup-test/src
  1525   $ hg init push-dst2
  1525   $ hg init push-dst2
  1526   $ hg -q -R src push push-dst2
  1526   $ hg -q -R src push push-dst2
  1527   reposetup() for $TESTTMP/reposetup-test/src (glob)
  1527   reposetup() for $TESTTMP/reposetup-test/src
  1528   $ hg init pull-src2
  1528   $ hg init pull-src2
  1529   $ hg -q -R pull-src2 pull src
  1529   $ hg -q -R pull-src2 pull src
  1530   reposetup() for $TESTTMP/reposetup-test/src (glob)
  1530   reposetup() for $TESTTMP/reposetup-test/src
  1531 
  1531 
  1532   $ cat <<EOF >> $HGRCPATH
  1532   $ cat <<EOF >> $HGRCPATH
  1533   > [extensions]
  1533   > [extensions]
  1534   > # enable extension globally
  1534   > # enable extension globally
  1535   > reposetuptest = $TESTTMP/reposetuptest.py
  1535   > reposetuptest = $TESTTMP/reposetuptest.py
  1536   > EOF
  1536   > EOF
  1537   $ hg clone -U src clone-dst3
  1537   $ hg clone -U src clone-dst3
  1538   reposetup() for $TESTTMP/reposetup-test/src (glob)
  1538   reposetup() for $TESTTMP/reposetup-test/src
  1539   reposetup() for $TESTTMP/reposetup-test/clone-dst3 (glob)
  1539   reposetup() for $TESTTMP/reposetup-test/clone-dst3
  1540   $ hg init push-dst3
  1540   $ hg init push-dst3
  1541   reposetup() for $TESTTMP/reposetup-test/push-dst3 (glob)
  1541   reposetup() for $TESTTMP/reposetup-test/push-dst3
  1542   $ hg -q -R src push push-dst3
  1542   $ hg -q -R src push push-dst3
  1543   reposetup() for $TESTTMP/reposetup-test/src (glob)
  1543   reposetup() for $TESTTMP/reposetup-test/src
  1544   reposetup() for $TESTTMP/reposetup-test/push-dst3 (glob)
  1544   reposetup() for $TESTTMP/reposetup-test/push-dst3
  1545   $ hg init pull-src3
  1545   $ hg init pull-src3
  1546   reposetup() for $TESTTMP/reposetup-test/pull-src3 (glob)
  1546   reposetup() for $TESTTMP/reposetup-test/pull-src3
  1547   $ hg -q -R pull-src3 pull src
  1547   $ hg -q -R pull-src3 pull src
  1548   reposetup() for $TESTTMP/reposetup-test/pull-src3 (glob)
  1548   reposetup() for $TESTTMP/reposetup-test/pull-src3
  1549   reposetup() for $TESTTMP/reposetup-test/src (glob)
  1549   reposetup() for $TESTTMP/reposetup-test/src
  1550 
  1550 
  1551   $ echo '[extensions]' >> src/.hg/hgrc
  1551   $ echo '[extensions]' >> src/.hg/hgrc
  1552   $ echo '# disable extension locally' >> src/.hg/hgrc
  1552   $ echo '# disable extension locally' >> src/.hg/hgrc
  1553   $ echo 'reposetuptest = !' >> src/.hg/hgrc
  1553   $ echo 'reposetuptest = !' >> src/.hg/hgrc
  1554   $ hg clone -U src clone-dst4
  1554   $ hg clone -U src clone-dst4
  1555   reposetup() for $TESTTMP/reposetup-test/clone-dst4 (glob)
  1555   reposetup() for $TESTTMP/reposetup-test/clone-dst4
  1556   $ hg init push-dst4
  1556   $ hg init push-dst4
  1557   reposetup() for $TESTTMP/reposetup-test/push-dst4 (glob)
  1557   reposetup() for $TESTTMP/reposetup-test/push-dst4
  1558   $ hg -q -R src push push-dst4
  1558   $ hg -q -R src push push-dst4
  1559   reposetup() for $TESTTMP/reposetup-test/push-dst4 (glob)
  1559   reposetup() for $TESTTMP/reposetup-test/push-dst4
  1560   $ hg init pull-src4
  1560   $ hg init pull-src4
  1561   reposetup() for $TESTTMP/reposetup-test/pull-src4 (glob)
  1561   reposetup() for $TESTTMP/reposetup-test/pull-src4
  1562   $ hg -q -R pull-src4 pull src
  1562   $ hg -q -R pull-src4 pull src
  1563   reposetup() for $TESTTMP/reposetup-test/pull-src4 (glob)
  1563   reposetup() for $TESTTMP/reposetup-test/pull-src4
  1564 
  1564 
  1565 disabling in command line overlays with all configuration
  1565 disabling in command line overlays with all configuration
  1566   $ hg --config extensions.reposetuptest=! clone -U src clone-dst5
  1566   $ hg --config extensions.reposetuptest=! clone -U src clone-dst5
  1567   $ hg --config extensions.reposetuptest=! init push-dst5
  1567   $ hg --config extensions.reposetuptest=! init push-dst5
  1568   $ hg --config extensions.reposetuptest=! -q -R src push push-dst5
  1568   $ hg --config extensions.reposetuptest=! -q -R src push push-dst5
  1603   $ echo '[extensions]' >> parent/.hg/hgrc
  1603   $ echo '[extensions]' >> parent/.hg/hgrc
  1604   $ echo '# enable extension locally' >> parent/.hg/hgrc
  1604   $ echo '# enable extension locally' >> parent/.hg/hgrc
  1605   $ echo "reposetuptest = $TESTTMP/reposetuptest.py" >> parent/.hg/hgrc
  1605   $ echo "reposetuptest = $TESTTMP/reposetuptest.py" >> parent/.hg/hgrc
  1606   $ cp parent/.hg/hgrc parent/sub2/.hg/hgrc
  1606   $ cp parent/.hg/hgrc parent/sub2/.hg/hgrc
  1607   $ hg -R parent status -S -A
  1607   $ hg -R parent status -S -A
  1608   reposetup() for $TESTTMP/reposetup-test/parent (glob)
  1608   reposetup() for $TESTTMP/reposetup-test/parent
  1609   reposetup() for $TESTTMP/reposetup-test/parent/sub2 (glob)
  1609   reposetup() for $TESTTMP/reposetup-test/parent/sub2
  1610   C .hgsub
  1610   C .hgsub
  1611   C .hgsubstate
  1611   C .hgsubstate
  1612   C sub1/1
  1612   C sub1/1
  1613   C sub2/.hgsub
  1613   C sub2/.hgsub
  1614   C sub2/.hgsubstate
  1614   C sub2/.hgsubstate