[issue20484] test_pydoc can alter execution environment causing subsequent test failures

2014-02-21 Thread Ned Deily

Ned Deily added the comment:

Here's another example of an odd test failure apparently caused by test_pydoc 
side effects, this using current default tip (same results with the current 
cherry pick for 3.4.0rc2):

./bin/python3.4 -m test -w -uall,-largefile test_pydoc test_unicode
[1/2] test_pydoc
Warning -- warnings.filters was modified by test_pydoc
Warning -- logging._handlerList was modified by test_pydoc
[2/2] test_unicode
test test_unicode failed -- Traceback (most recent call last):
  File 
/py/dev/3x/root/fwn/Library/Frameworks/pytest_10.9.framework/Versions/3.4/lib/python3.4/test/test_unicode.py,
 line 1072, in test_formatting
string_tests.MixinStrUnicodeUserStringTest.test_formatting(self)
  File 
/py/dev/3x/root/fwn/Library/Frameworks/pytest_10.9.framework/Versions/3.4/lib/python3.4/test/string_tests.py,
 line 1181, in test_formatting
with self.assertWarns(DeprecationWarning):
  File 
/py/dev/3x/root/fwn/Library/Frameworks/pytest_10.9.framework/Versions/3.4/lib/python3.4/unittest/case.py,
 line 202, in __enter__
for v in sys.modules.values():
RuntimeError: dictionary changed size during iteration

1 test failed:
test_unicode
1 test altered the execution environment:
test_pydoc
Re-running failed tests in verbose mode
Re-running test 'test_unicode' in verbose mode
test_formatter_field_name_split (test.test_unicode.StringModuleTest) ... ok
test_formatter_parser (test.test_unicode.StringModuleTest) ... ok
test___contains__ (test.test_unicode.UnicodeTest) ... ok
test_additional_rsplit (test.test_unicode.UnicodeTest) ... ok
test_additional_split (test.test_unicode.UnicodeTest) ... ok
test_ascii (test.test_unicode.UnicodeTest) ... ok
test_aswidechar (test.test_unicode.UnicodeTest) ... ok
test_aswidecharstring (test.test_unicode.UnicodeTest) ... ok
test_bug1001011 (test.test_unicode.UnicodeTest) ... ok
test_bytes_comparison (test.test_unicode.UnicodeTest) ... ok
test_capitalize (test.test_unicode.UnicodeTest) ... ok
test_casefold (test.test_unicode.UnicodeTest) ... ok
test_center (test.test_unicode.UnicodeTest) ... ok
test_codecs (test.test_unicode.UnicodeTest) ... ok
test_codecs_charmap (test.test_unicode.UnicodeTest) ... ok
test_codecs_errors (test.test_unicode.UnicodeTest) ... ok
test_codecs_idna (test.test_unicode.UnicodeTest) ... ok
test_codecs_utf7 (test.test_unicode.UnicodeTest) ... ok
test_codecs_utf8 (test.test_unicode.UnicodeTest) ... ok
test_compare (test.test_unicode.UnicodeTest) ... ok
test_comparison (test.test_unicode.UnicodeTest) ... ok
test_concatenation (test.test_unicode.UnicodeTest) ... ok
test_constructor (test.test_unicode.UnicodeTest) ... ok
test_constructor_defaults (test.test_unicode.UnicodeTest)
Check the constructor argument defaults. ... ok
test_constructor_keyword_args (test.test_unicode.UnicodeTest)
Pass various keyword argument combinations to the constructor. ... ok
test_contains (test.test_unicode.UnicodeTest) ... ok
test_conversion (test.test_unicode.UnicodeTest) ... ok
test_count (test.test_unicode.UnicodeTest) ... ok
test_encode_decimal (test.test_unicode.UnicodeTest) ... ok
test_endswith (test.test_unicode.UnicodeTest) ... ok
test_expandtabs (test.test_unicode.UnicodeTest) ... ok
test_expandtabs_optimization (test.test_unicode.UnicodeTest) ... ok
test_expandtabs_overflows_gracefully (test.test_unicode.UnicodeTest) ... 
skipped 'only applies to 32-bit platforms'
test_extended_getslice (test.test_unicode.UnicodeTest) ... ok
test_find (test.test_unicode.UnicodeTest) ... ok
test_find_etc_raise_correct_error_messages (test.test_unicode.UnicodeTest) ... 
ok
test_floatformatting (test.test_unicode.UnicodeTest) ... ok
test_format (test.test_unicode.UnicodeTest) ... ok
test_format_auto_numbering (test.test_unicode.UnicodeTest) ... ok
test_format_float (test.test_unicode.UnicodeTest) ... ok
test_format_huge_item_number (test.test_unicode.UnicodeTest) ... ok
test_format_huge_precision (test.test_unicode.UnicodeTest) ... ok
test_format_huge_width (test.test_unicode.UnicodeTest) ... ok
test_format_map (test.test_unicode.UnicodeTest) ... ok
test_format_subclass (test.test_unicode.UnicodeTest) ... ok
test_formatting (test.test_unicode.UnicodeTest) ... ERROR
test_formatting_c_limits (test.test_unicode.UnicodeTest) ... ok
test_formatting_huge_precision (test.test_unicode.UnicodeTest) ... ok
test_formatting_huge_precision_c_limits (test.test_unicode.UnicodeTest) ... ok
test_formatting_huge_width (test.test_unicode.UnicodeTest) ... ok
test_formatting_with_enum (test.test_unicode.UnicodeTest) ... ok
test_from_format (test.test_unicode.UnicodeTest) ... ok
test_getnewargs (test.test_unicode.UnicodeTest) ... ok
test_hash (test.test_unicode.UnicodeTest) ... ok
test_index (test.test_unicode.UnicodeTest) ... ok
test_inplace_rewrites (test.test_unicode.UnicodeTest) ... ok
test_invalid_cb_for_2bytes_seq (test.test_unicode.UnicodeTest) ... ok
test_invalid_cb_for_3bytes_seq (test.test_unicode.UnicodeTest) ... ok
test_invalid_cb_for_4bytes_seq (test.test_unicode.UnicodeTest) 

[issue20484] test_pydoc can alter execution environment causing subsequent test failures

2014-02-21 Thread Ned Deily

Ned Deily added the comment:

Eric, can you take a look at this?  It is playing minor havoc with regression 
testing for 3.4.0.

--
nosy: +larry

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20484
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue20484] test_pydoc can alter execution environment causing subsequent test failures

2014-02-21 Thread Eric Snow

Eric Snow added the comment:

Sorry for the delay.  It will likely be tomorrow before I can take a look but 
I'll do so as soon as possible.

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20484
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue20484] test_pydoc can alter execution environment causing subsequent test failures

2014-02-01 Thread Ned Deily

New submission from Ned Deily:

With the pydoc.synopsis() for 'binary' modules changes (d6c3fb8d5f84) to 
pydoc and test_pydoc for Issue20123, running test_pydoc can leave the regrtest 
environment altered and cause subsequent tests to fail in strange ways.  I ran 
into this issue running regression tests for 3.4.0 and was able to isolate the 
failure to this change set.

A somewhat simplified (if not necessarily minimal) set of steps to reproduce 
follow.  I've not had time to further investigate the cause.  I've also only 
seen the problem when running the tests with an installed Python or from a 
build directory when there is also a Python installed in the configured prefix 
but not from the build directory with no Python installed at the configured 
prefix.  I've reproduced the failure on both Debian Linux and on OS X.  The 
following output is from the former.

$ rm -rf /tmp/root/*
$ hg purge --all
$ hg update 6d72617cae64  # the parent change set of d6c3fb8d5f84
$ hg log -r .
changeset:   88306:6d72617cae64
user:R David Murray rdmur...@bitdance.com
date:Sat Jan 04 21:17:52 2014 -0500
summary: whatsnew: removal of TYPE_INT64 from marshal.
$ ./configure --prefix=/tmp/root
$ make  make install
$ ( cd /tmp  /tmp/root/bin/python3.4 -m test -w test_pydoc test_distutils )
[1/2] test_pydoc
[2/2] test_distutils
All 2 tests OK.
$ hg update d6c3fb8d5f84
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg log -r .
changeset:   88307:d6c3fb8d5f84
user:Eric Snow ericsnowcurren...@gmail.com
date:Sat Jan 04 20:38:11 2014 -0700
summary: Issue 20123: Fix pydoc.synopsis() for binary modules.
$ make  make install
$ ( cd /tmp  /tmp/root/bin/python3.4 -m test -w test_pydoc test_distutils )
[1/2] test_pydoc
Warning -- warnings.filters was modified by test_pydoc
Warning -- logging._handlerList was modified by test_pydoc
[2/2] test_distutils
test test_distutils failed -- multiple errors occurred; run in verbose mode for 
details
1 test failed:
test_distutils
1 test altered the execution environment:
test_pydoc
Re-running failed tests in verbose mode
Re-running test 'test_distutils' in verbose mode
test_simple_built (distutils.tests.test_bdist_dumb.BuildDumbTestCase) ... FAIL
test_check_all (distutils.tests.test_check.CheckTestCase) ... ok
[...]

==
ERROR: test_metadata_check_option (distutils.tests.test_sdist.SDistTestCase)
--
Traceback (most recent call last):
  File /tmp/root/lib/python3.4/distutils/tests/test_sdist.py, line 247, in 
test_metadata_check_option
cmd.run()
  File /tmp/root/lib/python3.4/distutils/command/sdist.py, line 158, in run
self.get_file_list()
  File /tmp/root/lib/python3.4/distutils/command/sdist.py, line 204, in 
get_file_list
self.add_defaults()
  File /tmp/root/lib/python3.4/distutils/command/sdist.py, line 262, in 
add_defaults
self.filelist.extend(build_py.get_source_files())
  File /tmp/root/lib/python3.4/distutils/command/build_py.py, line 301, in 
get_source_files
return [module[-1] for module in self.find_all_modules()]
  File /tmp/root/lib/python3.4/distutils/command/build_py.py, line 295, in 
find_all_modules
package_dir = self.get_package_dir(package)
  File /tmp/root/lib/python3.4/site-packages/setuptools/command/build_py.py, 
line 187, in get_package_dir
return os.path.join(self.distribution.src_root, res)
  File /tmp/root/lib/python3.4/posixpath.py, line 83, in join
path += b
TypeError: unsupported operand type(s) for +=: 'dict' and 'str'

==
ERROR: test_debug_mode (distutils.tests.test_install.InstallTestCase)
--
Traceback (most recent call last):
  File /tmp/root/lib/python3.4/distutils/tests/test_install.py, line 236, in 
test_debug_mode
self.test_record()
  File /tmp/root/lib/python3.4/distutils/tests/test_install.py, line 186, in 
test_record
cmd.run()
  File /tmp/root/lib/python3.4/distutils/command/install.py, line 566, in run
self.run_command(cmd_name)
  File /tmp/root/lib/python3.4/distutils/cmd.py, line 313, in run_command
self.distribution.run_command(command)
  File /tmp/root/lib/python3.4/distutils/dist.py, line 974, in run_command
cmd_obj.run()
  File 
/tmp/root/lib/python3.4/site-packages/setuptools/command/install_scripts.py, 
line 18, in run
self.run_command(egg_info)
  File /tmp/root/lib/python3.4/distutils/cmd.py, line 313, in run_command
self.distribution.run_command(command)
  File /tmp/root/lib/python3.4/distutils/dist.py, line 974, in run_command
cmd_obj.run()
  File /tmp/root/lib/python3.4/site-packages/setuptools/command/egg_info.py, 
line 163, in run
self.find_sources()
  File /tmp/root/lib/python3.4/site-packages/setuptools/command/egg_info.py, 
line 186,