tests/test-check-py3-commands.t
author Yuya Nishihara <yuya@tcha.org>
Mon, 19 Dec 2016 22:46:00 +0900
branchstable
changeset 30647 1914db1b7d9e
parent 30129 d69d86e7d6c8
child 30305 af7c60988f6e
permissions -rw-r--r--
demandimport: do not raise ImportError for unknown item in fromlist This is the behavior of the default __import__() function, which doesn't validate the existence of the fromlist items. Later on, the missing attribute is detected while processing the import statement. https://hg.python.org/cpython/file/v2.7.13/Python/import.c#l2575 The comtypes library relies on this (maybe) undocumented behavior, and we got a bug report to TortoiseHg, sigh. https://bitbucket.org/tortoisehg/thg/issues/4647/ The test added at 26a4e46af2bc verifies the behavior of the import statement, so this patch only adds the test of __import__() function and works around CPython/PyPy difference.

#require py3exe

This test helps in keeping a track on which commands we can run on
Python 3 and see what kind of errors are coming up.
The full traceback is hidden to have a stable output.

  $ for cmd in version debuginstall ; do
  >   echo $cmd
  >   $PYTHON3 `which hg` $cmd 2>&1 2>&1 | tail -1
  > done
  version
  TypeError: str expected, not bytes
  debuginstall
  TypeError: str expected, not bytes