tests/test-check-py3-commands.t
author Gregory Szorc <gregory.szorc@gmail.com>
Mon, 13 Mar 2017 13:08:11 -0700
changeset 31398 d785fed7c115
parent 31377 52ee1b5ac277
child 31401 ed23f929af38
permissions -rw-r--r--
tests: clean up bad extension The presence of the "babar" extension breaks subsequent tests. So delete the file and create an empty one to return the config to sanity.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
30129
d69d86e7d6c8 py3: test to check which commands run
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
     1
#require py3exe
d69d86e7d6c8 py3: test to check which commands run
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
     2
d69d86e7d6c8 py3: test to check which commands run
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
     3
This test helps in keeping a track on which commands we can run on
d69d86e7d6c8 py3: test to check which commands run
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
     4
Python 3 and see what kind of errors are coming up.
d69d86e7d6c8 py3: test to check which commands run
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
     5
The full traceback is hidden to have a stable output.
31376
3690c75f4d1e tests: make a variable for hg binary location in test-check-py3-commands
Augie Fackler <augie@google.com>
parents: 31361
diff changeset
     6
  $ HGBIN=`which hg`
30129
d69d86e7d6c8 py3: test to check which commands run
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
     7
d69d86e7d6c8 py3: test to check which commands run
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
     8
  $ for cmd in version debuginstall ; do
d69d86e7d6c8 py3: test to check which commands run
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
     9
  >   echo $cmd
31376
3690c75f4d1e tests: make a variable for hg binary location in test-check-py3-commands
Augie Fackler <augie@google.com>
parents: 31361
diff changeset
    10
  >   $PYTHON3 $HGBIN $cmd 2>&1 2>&1 | tail -1
30129
d69d86e7d6c8 py3: test to check which commands run
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    11
  > done
d69d86e7d6c8 py3: test to check which commands run
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    12
  version
30586
2d555d753f0e py3: make keys of keyword arguments strings
Pulkit Goyal <7895pulkit@gmail.com>
parents: 30569
diff changeset
    13
  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
30129
d69d86e7d6c8 py3: test to check which commands run
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    14
  debuginstall
31308
62939e0148f1 policy: try and always have a bytes for module policy
Augie Fackler <raf@durin42.com>
parents: 31304
diff changeset
    15
  no problems detected
31304
dab92f3dbd98 py3: add a test that proves %include and missing-extension code works
Augie Fackler <raf@durin42.com>
parents: 30586
diff changeset
    16
31377
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
    17
#if test-repo
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
    18
Make a clone so that any features in the developer's .hg/hgrc that
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
    19
might confuse Python 3 don't break this test. When we can do commit in
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
    20
Python 3, we'll stop doing this. We use e76ed1e480ef for the clone
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
    21
because it has different files than 273ce12ad8f1, so we can test both
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
    22
`files` from dirstate and `files` loaded from a specific revision.
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
    23
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
    24
  $ hg clone -r e76ed1e480ef "`dirname "$TESTDIR"`" testrepo 2>&1 | tail -1
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
    25
  15 files updated, 0 files merged, 0 files removed, 0 files unresolved
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
    26
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
    27
Test using -R, which exercises some URL code:
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
    28
  $ $PYTHON3 $HGBIN -R testrepo files -r 273ce12ad8f1 | tail -1
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
    29
  testrepo/tkmerge
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
    30
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
    31
Now prove `hg files` is reading the whole manifest. We have to grep
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
    32
out some potential warnings that come from hgrc as yet.
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
    33
  $ cd testrepo
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
    34
  $ $PYTHON3 $HGBIN files -r 273ce12ad8f1
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
    35
  .hgignore
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
    36
  PKG-INFO
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
    37
  README
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
    38
  hg
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
    39
  mercurial/__init__.py
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
    40
  mercurial/byterange.py
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
    41
  mercurial/fancyopts.py
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
    42
  mercurial/hg.py
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
    43
  mercurial/mdiff.py
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
    44
  mercurial/revlog.py
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
    45
  mercurial/transaction.py
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
    46
  notes.txt
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
    47
  setup.py
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
    48
  tkmerge
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
    49
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
    50
  $ $PYTHON3 $HGBIN files -r 273ce12ad8f1 | wc -l
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
    51
  \s*14 (re)
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
    52
  $ $PYTHON3 $HGBIN files | wc -l
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
    53
  \s*15 (re)
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
    54
  $ cd ..
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
    55
#endif
52ee1b5ac277 py3: prove `hg files --rev` works
Augie Fackler <augie@google.com>
parents: 31376
diff changeset
    56
31304
dab92f3dbd98 py3: add a test that proves %include and missing-extension code works
Augie Fackler <raf@durin42.com>
parents: 30586
diff changeset
    57
  $ cat > included-hgrc <<EOF
dab92f3dbd98 py3: add a test that proves %include and missing-extension code works
Augie Fackler <raf@durin42.com>
parents: 30586
diff changeset
    58
  > [extensions]
dab92f3dbd98 py3: add a test that proves %include and missing-extension code works
Augie Fackler <raf@durin42.com>
parents: 30586
diff changeset
    59
  > babar = imaginary_elephant
dab92f3dbd98 py3: add a test that proves %include and missing-extension code works
Augie Fackler <raf@durin42.com>
parents: 30586
diff changeset
    60
  > EOF
dab92f3dbd98 py3: add a test that proves %include and missing-extension code works
Augie Fackler <raf@durin42.com>
parents: 30586
diff changeset
    61
  $ cat >> $HGRCPATH <<EOF
dab92f3dbd98 py3: add a test that proves %include and missing-extension code works
Augie Fackler <raf@durin42.com>
parents: 30586
diff changeset
    62
  > %include $TESTTMP/included-hgrc
dab92f3dbd98 py3: add a test that proves %include and missing-extension code works
Augie Fackler <raf@durin42.com>
parents: 30586
diff changeset
    63
  > EOF
31376
3690c75f4d1e tests: make a variable for hg binary location in test-check-py3-commands
Augie Fackler <augie@google.com>
parents: 31361
diff changeset
    64
  $ $PYTHON3 $HGBIN version | tail -1
31304
dab92f3dbd98 py3: add a test that proves %include and missing-extension code works
Augie Fackler <raf@durin42.com>
parents: 30586
diff changeset
    65
  *** failed to import extension babar from imaginary_elephant: *: 'imaginary_elephant' (glob)
dab92f3dbd98 py3: add a test that proves %include and missing-extension code works
Augie Fackler <raf@durin42.com>
parents: 30586
diff changeset
    66
  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
31361
8a17c541177f py3: add "b" prefix to string literals related to module policy
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 31308
diff changeset
    67
31398
d785fed7c115 tests: clean up bad extension
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31377
diff changeset
    68
  $ rm included-hgrc
d785fed7c115 tests: clean up bad extension
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31377
diff changeset
    69
  $ touch included-hgrc
d785fed7c115 tests: clean up bad extension
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31377
diff changeset
    70
31361
8a17c541177f py3: add "b" prefix to string literals related to module policy
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 31308
diff changeset
    71
Test bytes-ness of policy.policy with HGMODULEPOLICY
8a17c541177f py3: add "b" prefix to string literals related to module policy
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 31308
diff changeset
    72
8a17c541177f py3: add "b" prefix to string literals related to module policy
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 31308
diff changeset
    73
  $ HGMODULEPOLICY=py
8a17c541177f py3: add "b" prefix to string literals related to module policy
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 31308
diff changeset
    74
  $ export HGMODULEPOLICY
8a17c541177f py3: add "b" prefix to string literals related to module policy
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 31308
diff changeset
    75
  $ $PYTHON3 `which hg` debuginstall 2>&1 2>&1 | tail -1
8a17c541177f py3: add "b" prefix to string literals related to module policy
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 31308
diff changeset
    76
  no problems detected