##// END OF EJS Templates
tests: save the original PATH and PYTHONPATH variables...
tests: save the original PATH and PYTHONPATH variables When running the tests, define ORIG_PATH and ORIG_PYTHONPATH environment variables that contain the original contents of PATH and PYTHONPATH, before they were modified by run-tests.py This will make it possible for tests to refer to the original contents of these variables if necessary. In particular, this is necessary for invoking the correct version of hg for examining the local repository (the mercurial repository itself, not the temporary test repositories). Various tests examine the local repository to check the file lists and contents of commit messages.

File last commit:

r32954:b5305a49 default
r33115:fa9a90d5 default
Show More
test-install.t
212 lines | 8.0 KiB | text/troff | Tads3Lexer
Pradeepkumar Gayam
tests: unify test-install
r11917 hg debuginstall
$ hg debuginstall
Martin Geisler
debuginstall: lowercase status messages
r16934 checking encoding (ascii)...
Matt Mackall
debuginstall: change showing to checking for consistency and future checking
r20741 checking Python executable (*) (glob)
checking Python version (2.*) (glob)
Adrian Buehlmann
debuginstall: show directory for Python lib...
r17392 checking Python lib (*lib*)... (glob)
Gregory Szorc
commands: print security protocol support in debuginstall...
r30222 checking Python security support (*) (glob)
TLS 1.2 not supported by Python install; network connections lack modern security (?)
SNI not supported by Python install; may have connectivity issues with some servers (?)
timeless
debuginstall: add mercurial version
r29197 checking Mercurial version (*) (glob)
checking Mercurial custom build (*) (glob)
timeless
debuginstall: expose modulepolicy...
r29266 checking module policy (*) (glob)
Martin Geisler
debuginstall: lowercase status messages
r16934 checking installed modules (*mercurial)... (glob)
Gregory Szorc
debuginstall: print compression engine support...
r30462 checking registered compression engines (*zlib*) (glob)
checking available compression engines (*zlib*) (glob)
Gregory Szorc
wireproto: advertise supported media types and compression formats...
r30762 checking available compression engines for wire protocol (*zlib*) (glob)
Martin Geisler
debuginstall: lowercase status messages
r16934 checking templates (*mercurial?templates)... (glob)
timeless
debuginstall: convert to formatter...
r28440 checking default template (*mercurial?templates?map-cmdline.default) (glob)
Sean Farley
tests: python executable should always be globbed...
r28626 checking commit editor... (* -c "import sys; sys.exit(0)") (glob)
timeless
debuginstall: convert to formatter...
r28440 checking username (test)
Martin Geisler
debuginstall: lowercase status messages
r16934 no problems detected
Pradeepkumar Gayam
tests: unify test-install
r11917
timeless
debuginstall: convert to formatter...
r28440 hg debuginstall JSON
Matt Harbison
test-install: fix output on Windows...
r28885 $ hg debuginstall -Tjson | sed 's|\\\\|\\|g'
timeless
debuginstall: convert to formatter...
r28440 [
{
Gregory Szorc
debuginstall: print compression engine support...
r30462 "compengines": ["bz2", "bz2truncated", "none", "zlib"*], (glob)
"compenginesavail": ["bz2", "bz2truncated", "none", "zlib"*], (glob)
Gregory Szorc
wireproto: advertise supported media types and compression formats...
r30762 "compenginesserver": [*"zlib"*], (glob)
timeless
debuginstall: convert to formatter...
r28440 "defaulttemplate": "*mercurial?templates?map-cmdline.default", (glob)
"defaulttemplateerror": null,
"defaulttemplatenotfound": "default",
Sean Farley
tests: python executable should always be globbed...
r28626 "editor": "* -c \"import sys; sys.exit(0)\"", (glob)
timeless
debuginstall: convert to formatter...
r28440 "editornotfound": false,
"encoding": "ascii",
"encodingerror": null,
Yuya Nishihara
debuginstall: check C extensions only if they are loadable per policy...
r32204 "extensionserror": null, (no-pure !)
timeless
debuginstall: expose modulepolicy...
r29266 "hgmodulepolicy": "*", (glob)
timeless
debuginstall: convert to formatter...
r28440 "hgmodules": "*mercurial", (glob)
timeless
debuginstall: add mercurial version
r29197 "hgver": "*", (glob)
"hgverextra": "*", (glob)
timeless
debuginstall: convert to formatter...
r28440 "problems": 0,
Danek Duvall
tests: python executable path should always be globbed...
r28544 "pythonexe": "*", (glob)
Sean Farley
tests: python executable should always be globbed...
r28626 "pythonlib": "*", (glob)
Gregory Szorc
commands: print security protocol support in debuginstall...
r30222 "pythonsecurity": [*], (glob)
timeless
debuginstall: convert to formatter...
r28440 "pythonver": "*.*.*", (glob)
"templatedirs": "*mercurial?templates", (glob)
"username": "test",
"usernameerror": null,
"vinotfound": false
}
]
Pradeepkumar Gayam
tests: unify test-install
r11917 hg debuginstall with no username
$ HGUSER= hg debuginstall
Martin Geisler
debuginstall: lowercase status messages
r16934 checking encoding (ascii)...
Matt Mackall
debuginstall: change showing to checking for consistency and future checking
r20741 checking Python executable (*) (glob)
checking Python version (2.*) (glob)
Adrian Buehlmann
debuginstall: show directory for Python lib...
r17392 checking Python lib (*lib*)... (glob)
Gregory Szorc
commands: print security protocol support in debuginstall...
r30222 checking Python security support (*) (glob)
TLS 1.2 not supported by Python install; network connections lack modern security (?)
SNI not supported by Python install; may have connectivity issues with some servers (?)
timeless
debuginstall: add mercurial version
r29197 checking Mercurial version (*) (glob)
checking Mercurial custom build (*) (glob)
timeless
debuginstall: expose modulepolicy...
r29266 checking module policy (*) (glob)
Martin Geisler
debuginstall: lowercase status messages
r16934 checking installed modules (*mercurial)... (glob)
Gregory Szorc
debuginstall: print compression engine support...
r30462 checking registered compression engines (*zlib*) (glob)
checking available compression engines (*zlib*) (glob)
Gregory Szorc
wireproto: advertise supported media types and compression formats...
r30762 checking available compression engines for wire protocol (*zlib*) (glob)
Martin Geisler
debuginstall: lowercase status messages
r16934 checking templates (*mercurial?templates)... (glob)
timeless
debuginstall: convert to formatter...
r28440 checking default template (*mercurial?templates?map-cmdline.default) (glob)
Sean Farley
tests: python executable should always be globbed...
r28626 checking commit editor... (* -c "import sys; sys.exit(0)") (glob)
Martin Geisler
debuginstall: lowercase status messages
r16934 checking username...
Matt Mackall
ui: suggest config --edit when no username is set
r20574 no username supplied
Martin Geisler
Merge with stable
r12084 (specify a username in your configuration file)
Pradeepkumar Gayam
tests: unify test-install
r11917 1 problems detected, please check your install!
Matt Mackall
tests: add exit codes to unified tests
r12316 [1]
Matt Harbison
debuginstall: expand the editor path before searching for it (issue4380)...
r24891
path variables are expanded (~ is the same as $TESTTMP)
$ mkdir tools
$ touch tools/testeditor.exe
#if execbit
$ chmod 755 tools/testeditor.exe
#endif
$ hg debuginstall --config ui.editor=~/tools/testeditor.exe
checking encoding (ascii)...
checking Python executable (*) (glob)
checking Python version (*) (glob)
checking Python lib (*lib*)... (glob)
Gregory Szorc
commands: print security protocol support in debuginstall...
r30222 checking Python security support (*) (glob)
TLS 1.2 not supported by Python install; network connections lack modern security (?)
SNI not supported by Python install; may have connectivity issues with some servers (?)
timeless
debuginstall: add mercurial version
r29197 checking Mercurial version (*) (glob)
checking Mercurial custom build (*) (glob)
timeless
debuginstall: expose modulepolicy...
r29266 checking module policy (*) (glob)
Matt Harbison
debuginstall: expand the editor path before searching for it (issue4380)...
r24891 checking installed modules (*mercurial)... (glob)
Gregory Szorc
debuginstall: print compression engine support...
r30462 checking registered compression engines (*zlib*) (glob)
checking available compression engines (*zlib*) (glob)
Gregory Szorc
wireproto: advertise supported media types and compression formats...
r30762 checking available compression engines for wire protocol (*zlib*) (glob)
Matt Harbison
debuginstall: expand the editor path before searching for it (issue4380)...
r24891 checking templates (*mercurial?templates)... (glob)
timeless
debuginstall: convert to formatter...
r28440 checking default template (*mercurial?templates?map-cmdline.default) (glob)
Sean Farley
tests: python executable should always be globbed...
r28626 checking commit editor... (* -c "import sys; sys.exit(0)") (glob)
timeless
debuginstall: convert to formatter...
r28440 checking username (test)
Matt Harbison
debuginstall: expand the editor path before searching for it (issue4380)...
r24891 no problems detected
Matt Harbison
tests: add coverage to ensure Wix tracks 'help' and 'templates' files...
r27383
Matt Harbison
test-install: perform the wix checking on wdir() instead of "."...
r27442 #if test-repo
timeless
tests: silence test-repo obsolete warning...
r29219 $ . "$TESTDIR/helpers-testrepo.sh"
Matt Harbison
tests: add coverage to ensure Wix tracks 'help' and 'templates' files...
r27383 $ cat >> wixxml.py << EOF
> import os, subprocess, sys
> import xml.etree.ElementTree as ET
>
> # MSYS mangles the path if it expands $TESTDIR
> testdir = os.environ['TESTDIR']
> ns = {'wix' : 'http://schemas.microsoft.com/wix/2006/wi'}
>
> def directory(node, relpath):
> '''generator of files in the xml node, rooted at relpath'''
Yuya Nishihara
test-install: embed wix namespace for Python 2.6 compatibility...
r27519 > dirs = node.findall('./{%(wix)s}Directory' % ns)
Matt Harbison
tests: add coverage to ensure Wix tracks 'help' and 'templates' files...
r27383 >
> for d in dirs:
> for subfile in directory(d, relpath + d.attrib['Name'] + '/'):
> yield subfile
>
Yuya Nishihara
test-install: embed wix namespace for Python 2.6 compatibility...
r27519 > files = node.findall('./{%(wix)s}Component/{%(wix)s}File' % ns)
Matt Harbison
tests: add coverage to ensure Wix tracks 'help' and 'templates' files...
r27383 >
> for f in files:
> yield relpath + f.attrib['Name']
>
> def hgdirectory(relpath):
> '''generator of tracked files, rooted at relpath'''
> hgdir = "%s/../mercurial" % (testdir)
Matt Harbison
test-install: perform the wix checking on wdir() instead of "."...
r27442 > args = ['hg', '--cwd', hgdir, 'files', relpath]
Matt Harbison
tests: add coverage to ensure Wix tracks 'help' and 'templates' files...
r27383 > proc = subprocess.Popen(args, stdout=subprocess.PIPE,
> stderr=subprocess.PIPE)
> output = proc.communicate()[0]
>
> slash = '/'
> for line in output.splitlines():
> if os.name == 'nt':
> yield line.replace(os.sep, slash)
> else:
> yield line
>
> tracked = [f for f in hgdirectory(sys.argv[1])]
>
> xml = ET.parse("%s/../contrib/wix/%s.wxs" % (testdir, sys.argv[1]))
> root = xml.getroot()
Yuya Nishihara
test-install: embed wix namespace for Python 2.6 compatibility...
r27519 > dir = root.find('.//{%(wix)s}DirectoryRef' % ns)
Matt Harbison
tests: add coverage to ensure Wix tracks 'help' and 'templates' files...
r27383 >
> installed = [f for f in directory(dir, '')]
>
> print('Not installed:')
> for f in sorted(set(tracked) - set(installed)):
> print(' %s' % f)
>
> print('Not tracked:')
> for f in sorted(set(installed) - set(tracked)):
> print(' %s' % f)
> EOF
Augie Fackler
cleanup: use $PYTHON to run python in many more tests...
r32940 $ $PYTHON wixxml.py help
Matt Harbison
tests: add coverage to ensure Wix tracks 'help' and 'templates' files...
r27383 Not installed:
help/common.txt
Sean Farley
hg-ssh: copy doc string to man page...
r29090 help/hg-ssh.8.txt
Matt Harbison
tests: add coverage to ensure Wix tracks 'help' and 'templates' files...
r27383 help/hg.1.txt
help/hgignore.5.txt
help/hgrc.5.txt
Not tracked:
Augie Fackler
cleanup: use $PYTHON to run python in many more tests...
r32940 $ $PYTHON wixxml.py templates
Matt Harbison
tests: add coverage to ensure Wix tracks 'help' and 'templates' files...
r27383 Not installed:
Not tracked:
Matt Harbison
test-install: perform the wix checking on wdir() instead of "."...
r27442
#endif
Augie Fackler
tests: add a test for installing hg with pip in a virtualenv...
r32727
#if virtualenv
Verify that Mercurial is installable with pip. Note that this MUST be
the last test in this file, because we do some nasty things to the
shell environment in order to make the virtualenv work reliably.
$ cd $TESTTMP
Note: --no-site-packages is deprecated, but some places have an
ancient virtualenv from their linux distro or similar and it's not yet
the default for them.
$ unset PYTHONPATH
Danek Duvall
tests: don't touch the network when using virtualenv
r32944 $ $PYTHON -m virtualenv --no-site-packages --never-download installenv >> pip.log
Augie Fackler
tests: add a test for installing hg with pip in a virtualenv...
r32727 Note: we use this weird path to run pip and hg to avoid platform differences,
since it's bin on most platforms but Scripts on Windows.
Danek Duvall
tests: tell pip not to check for a newer version...
r32954 $ ./installenv/*/pip install --no-index $TESTDIR/.. >> pip.log
Augie Fackler
tests: add a test for installing hg with pip in a virtualenv...
r32727 $ ./installenv/*/hg debuginstall || cat pip.log
checking encoding (ascii)...
checking Python executable (*) (glob)
checking Python version (2.*) (glob)
checking Python lib (*)... (glob)
checking Python security support (*) (glob)
TLS 1.2 not supported by Python install; network connections lack modern security (?)
SNI not supported by Python install; may have connectivity issues with some servers (?)
checking Mercurial version (*) (glob)
checking Mercurial custom build (*) (glob)
checking module policy (*) (glob)
checking installed modules (*/mercurial)... (glob)
checking registered compression engines (*) (glob)
checking available compression engines (*) (glob)
checking available compression engines for wire protocol (*) (glob)
checking templates ($TESTTMP/installenv/*/site-packages/mercurial/templates)... (glob)
checking default template ($TESTTMP/installenv/*/site-packages/mercurial/templates/map-cmdline.default) (glob)
checking commit editor... (*) (glob)
checking username (test)
no problems detected
#endif