Bug 856672

Summary: Upstream tests failed: /CoreOS/python/Sanity/unit-tests
Product: Red Hat Enterprise Linux 7 Reporter: Branislav Náter <bnater>
Component: pythonAssignee: Robert Kuska <rkuska>
Status: CLOSED CURRENTRELEASE QA Contact: Branislav Náter <bnater>
Severity: low Docs Contact:
Priority: low    
Version: 7.0CC: bkabrda, bnater, isenfeld, jberan, lfarkas, lmiksik, rkuska
Target Milestone: rcKeywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-09-07 06:50:38 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Full output of test_pydoc.py
none
Full output of test_gdb.py none

Description Branislav Náter 2012-09-12 14:36:43 UTC
Created attachment 612131 [details]
Full output of test_pydoc.py

Description of problem:
test_pydoc.py and test_gdb.py from upstream suites are failing. Full output can be found in attached files.

Version-Release number of selected component (if applicable):
python-2.7.3-7.el7.x86_64
python-test-2.7.3-7.el7.x86_64

Steps to Reproduce:
1. run /CoreOS/python/Sanity/unit-tests test OR just run test_pydoc.py and test_gdb.py from /usr/lib64/python2.7/test
  
Actual results for test_pydoc.py:
<snip>
test_apropos_with_bad_package (__main__.PydocImportTest) ... FAIL
test_apropos_with_unreadable_dir (__main__.PydocImportTest) ... FAIL
<snip>
see attached file test_pydoc.output for more details

Actual results for test_gdb.py:
test_NULL_instance_dict (__main__.PrettyPrintTests)
Ensure that a PyInstanceObject with with a NULL in_dict is handled ... FAIL
test_NULL_ob_type (__main__.PrettyPrintTests)
Ensure that a PyObject* with NULL ob_type is handled gracefully ... FAIL
test_NULL_ptr (__main__.PrettyPrintTests)
Ensure that a NULL PyObject* is handled gracefully ... FAIL
test_builtin_function (__main__.PrettyPrintTests) ... FAIL
test_builtin_method (__main__.PrettyPrintTests) ... FAIL
<snip>
see attached file test_gdb.output for more details

Expected results:
Tests successfully finish

Comment 1 Branislav Náter 2012-09-12 14:37:46 UTC
Created attachment 612132 [details]
Full output of test_gdb.py

Comment 2 Dave Malcolm 2012-12-04 17:19:23 UTC
(In reply to comment #1)
> Created attachment 612132 [details]
> Full output of test_gdb.py

It looks like python-debuginfo wasn't installed when this test was run.  test_gdb.py needs python-debuginfo to be installed (matching the version-release.arch of the python package).

Comment 3 Branislav Náter 2012-12-06 12:35:16 UTC
(In reply to comment #2)
> (In reply to comment #1)
> > Created attachment 612132 [details]
> > Full output of test_gdb.py
> 
> It looks like python-debuginfo wasn't installed when this test was run. 
> test_gdb.py needs python-debuginfo to be installed (matching the
> version-release.arch of the python package).

Thanks, python-debuginfo has been added to Requries of the test and verified.

Problem with test_pydoc.py persist in python-2.7.3-13.el7.x86_64:

# su pythontester -c 'python test_pydoc.py < empty'
test_html_doc (__main__.PyDocDocTest) ... ok
test_input_strip (__main__.PyDocDocTest) ... ok
test_issue8225 (__main__.PyDocDocTest) ... ok
test_not_here (__main__.PyDocDocTest) ... ok
test_stripid (__main__.PyDocDocTest) ... ok
test_text_doc (__main__.PyDocDocTest) ... ok
test_apropos_with_bad_package (__main__.PydocImportTest) ... FAIL
test_apropos_with_unreadable_dir (__main__.PydocImportTest) ... FAIL
test_badimport (__main__.PydocImportTest) ... ok
test_class (__main__.TestDescriptions) ... ok
test_classic_class (__main__.TestDescriptions) ... ok
test_module (__main__.TestDescriptions) ... ok
test_namedtuple_public_underscore (__main__.TestDescriptions) ... ok
test_builtin (__main__.TestHelper) ... ok
test_keywords (__main__.TestHelper) ... ok

======================================================================
FAIL: test_apropos_with_bad_package (__main__.PydocImportTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "test_pydoc.py", line 316, in test_apropos_with_bad_package
    result = run_pydoc('zqwykjv', '-k', PYTHONPATH=TESTFN)
  File "test_pydoc.py", line 185, in run_pydoc
    rc, out, err = assert_python_ok('-B', pydoc.__file__, *args, **env)
  File "/usr/lib64/python2.7/test/script_helper.py", line 49, in assert_python_ok
    return _assert_python(True, *args, **env_vars)
  File "/usr/lib64/python2.7/test/script_helper.py", line 41, in _assert_python
    "stderr follows:\n%s" % (rc, err.decode('ascii', 'ignore')))
AssertionError: Process return code is 2, stderr follows:
Usage: pydoc.pyc [options]
A simple dialog based tool for basic configuration of Speech Dispatcher
and problem diagnostics.

pydoc.pyc: error: no such option: -k

======================================================================
FAIL: test_apropos_with_unreadable_dir (__main__.PydocImportTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "test_pydoc.py", line 326, in test_apropos_with_unreadable_dir
    result = run_pydoc('zqwykjv', '-k', PYTHONPATH=TESTFN)
  File "test_pydoc.py", line 185, in run_pydoc
    rc, out, err = assert_python_ok('-B', pydoc.__file__, *args, **env)
  File "/usr/lib64/python2.7/test/script_helper.py", line 49, in assert_python_ok
    return _assert_python(True, *args, **env_vars)
  File "/usr/lib64/python2.7/test/script_helper.py", line 41, in _assert_python
    "stderr follows:\n%s" % (rc, err.decode('ascii', 'ignore')))
AssertionError: Process return code is 2, stderr follows:
Usage: pydoc.pyc [options]
A simple dialog based tool for basic configuration of Speech Dispatcher
and problem diagnostics.

pydoc.pyc: error: no such option: -k

----------------------------------------------------------------------

Comment 5 Bohuslav "Slavek" Kabrda 2013-07-24 13:44:38 UTC
This seems to be a known issue, the problem is running Python tests with installed instance Python [1]. Upstream suggests running Python with "-S", so you might try that, but that is not a solution for you since Python wouldn't be able to load any libraries at all. I suggest marking these failures expected and closing WONTFIX (we can always reopen and fix if upstream finds the solution, but I just don't think this is very important).

[1] http://bugs.python.org/issue17763

Comment 6 Branislav Náter 2013-07-31 12:44:54 UTC
test_pydoc.py is passing on current RHEL-7 tree (RHEL-7.0-20130628.0,python-2.7.5-1.el7).

See http://beaker-archive.app.eng.bos.redhat.com/beaker-logs/2013/07/4531/453165/953062/13955872/TESTOUT.log

<snip>
test_pydoc
1 test OK.
Last login: Tue Jul 16 14:18:19 EDT 2013
:: [   PASS   ] :: Running test_pydoc.py
</snip>

Comment 7 Ludek Smid 2014-06-13 10:46:47 UTC
This request was resolved in Red Hat Enterprise Linux 7.0.

Contact your manager or support representative in case you have further questions about the request.

Comment 8 Levente Farkas 2014-07-05 10:54:44 UTC
it's still failed in python-2.7.5-16.el7:
--------------------------------
test_gdb
test_NULL_instance_dict (test.test_gdb.PrettyPrintTests)
Ensure that a PyInstanceObject with with a NULL in_dict is handled ... FAIL
test_NULL_ob_type (test.test_gdb.PrettyPrintTests)
Ensure that a PyObject* with NULL ob_type is handled gracefully ... FAIL
test_NULL_ptr (test.test_gdb.PrettyPrintTests)
Ensure that a NULL PyObject* is handled gracefully ... FAIL
test_builtin_function (test.test_gdb.PrettyPrintTests) ... FAIL
test_builtin_method (test.test_gdb.PrettyPrintTests) ... FAIL
test_builtins_help (test.test_gdb.PrettyPrintTests)
Ensure that the new-style class _Helper in site.py can be handled ... FAIL
test_classic_class (test.test_gdb.PrettyPrintTests)
Verify the pretty-printing of classic class instances ... FAIL
test_corrupt_ob_type (test.test_gdb.PrettyPrintTests)
Ensure that a PyObject* with a corrupt ob_type is handled gracefully ... FAIL
test_corrupt_tp_flags (test.test_gdb.PrettyPrintTests)
Ensure that a PyObject* with a type with corrupt tp_flags is handled ... FAIL
test_corrupt_tp_name (test.test_gdb.PrettyPrintTests)
Ensure that a PyObject* with a type with corrupt tp_name is handled ... FAIL
test_dicts (test.test_gdb.PrettyPrintTests)
Verify the pretty-printing of dictionaries ... FAIL
test_exceptions (test.test_gdb.PrettyPrintTests) ... FAIL
test_frames (test.test_gdb.PrettyPrintTests) ... FAIL
test_frozensets (test.test_gdb.PrettyPrintTests)
Verify the pretty-printing of frozensets ... FAIL
test_getting_backtrace (test.test_gdb.PrettyPrintTests) ... FAIL
test_int (test.test_gdb.PrettyPrintTests)
Verify the pretty-printing of various "int" values ... FAIL
test_lists (test.test_gdb.PrettyPrintTests)
Verify the pretty-printing of lists ... FAIL
test_long (test.test_gdb.PrettyPrintTests)
Verify the pretty-printing of various "long" values ... FAIL
test_modern_class (test.test_gdb.PrettyPrintTests)
Verify the pretty-printing of new-style class instances ... FAIL
test_selfreferential_dict (test.test_gdb.PrettyPrintTests)
Ensure that a reference loop involving a dict doesn't lead proxyval ... FAIL
test_selfreferential_list (test.test_gdb.PrettyPrintTests)
Ensure that a reference loop involving a list doesn't lead proxyval ... FAIL
test_selfreferential_new_style_instance (test.test_gdb.PrettyPrintTests) ... FAIL
test_selfreferential_old_style_instance (test.test_gdb.PrettyPrintTests) ... FAIL
test_sets (test.test_gdb.PrettyPrintTests)
Verify the pretty-printing of sets ... FAIL
test_singletons (test.test_gdb.PrettyPrintTests)
Verify the pretty-printing of True, False and None ... FAIL
test_strings (test.test_gdb.PrettyPrintTests)
Verify the pretty-printing of strings ... FAIL
test_subclassing_list (test.test_gdb.PrettyPrintTests)
Verify the pretty-printing of an instance of a list subclass ... FAIL
test_subclassing_tuple (test.test_gdb.PrettyPrintTests)
Verify the pretty-printing of an instance of a tuple subclass ... FAIL
test_truncation (test.test_gdb.PrettyPrintTests)
Verify that very long output is truncated ... FAIL
test_tuples (test.test_gdb.PrettyPrintTests)
Verify the pretty-printing of tuples ... FAIL
test_unicode (test.test_gdb.PrettyPrintTests)
Verify the pretty-printing of unicode values ... FAIL
test_basic_command (test.test_gdb.PyListTests)
Verify that the "py-list" command works ... skipped 'Python was compiled with optimizations'
test_one_abs_arg (test.test_gdb.PyListTests)
Verify the "py-list" command with one absolute argument ... skipped 'Python was compiled with optimizations'
test_two_abs_args (test.test_gdb.PyListTests)
Verify the "py-list" command with two absolute arguments ... skipped 'Python was compiled with optimizations'
test_down_at_bottom (test.test_gdb.StackNavigationTests)
Verify handling of "py-down" at the bottom of the stack ... skipped 'Python was compiled with optimizations'
test_pyup_command (test.test_gdb.StackNavigationTests)
Verify that the "py-up" command works ... skipped 'Python was compiled with optimizations'
test_up_at_top (test.test_gdb.StackNavigationTests)
Verify handling of "py-up" at the top of the stack ... skipped 'Python was compiled with optimizations'
test_up_then_down (test.test_gdb.StackNavigationTests)
Verify "py-up" followed by "py-down" ... skipped 'Python was compiled with optimizations'
test_basic_command (test.test_gdb.PyBtTests)
Verify that the "py-bt" command works ... skipped 'Python was compiled with optimizations'
test_basic_command (test.test_gdb.PyPrintTests)
Verify that the "py-print" command works ... skipped 'Python was compiled with optimizations'
test_print_after_up (test.test_gdb.PyPrintTests) ... skipped 'Python was compiled with optimizations'
test_printing_builtin (test.test_gdb.PyPrintTests) ... skipped 'Python was compiled with optimizations'
test_printing_global (test.test_gdb.PyPrintTests) ... skipped 'Python was compiled with optimizations'
test_basic_command (test.test_gdb.PyLocalsTests) ... skipped 'Python was compiled with optimizations'
test_locals_after_up (test.test_gdb.PyLocalsTests) ... skipped 'Python was compiled with optimizations'
======================================================================
FAIL: test_NULL_instance_dict (test.test_gdb.PrettyPrintTests)
Ensure that a PyInstanceObject with with a NULL in_dict is handled
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Python-2.7.5/Lib/test/test_gdb.py", line 506, in test_NULL_instance_dict
    exptype='Foo')
  File "/builddir/build/BUILD/Python-2.7.5/Lib/test/test_gdb.py", line 444, in assertSane
    cmds_after_breakpoint=cmds_after_breakpoint)
  File "/builddir/build/BUILD/Python-2.7.5/Lib/test/test_gdb.py", line 224, in get_gdb_repr
    import_site=import_site)
  File "/builddir/build/BUILD/Python-2.7.5/Lib/test/test_gdb.py", line 209, in get_stack_trace
    self.assertEqual(unexpected_errlines, [])
AssertionError: Lists differ: ['error: Macro % has illegal n... != []
First list contains 1 additional elements.
First extra element 0:
error: Macro % has illegal name (%define)
- ['error: Macro % has illegal name (%define)']
+ []
======================================================================
FAIL: test_NULL_ob_type (test.test_gdb.PrettyPrintTests)
Ensure that a PyObject* with NULL ob_type is handled gracefully
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Python-2.7.5/Lib/test/test_gdb.py", line 477, in test_NULL_ob_type
    'set op->ob_type=0')
  File "/builddir/build/BUILD/Python-2.7.5/Lib/test/test_gdb.py", line 444, in assertSane
    cmds_after_breakpoint=cmds_after_breakpoint)
  File "/builddir/build/BUILD/Python-2.7.5/Lib/test/test_gdb.py", line 224, in get_gdb_repr
    import_site=import_site)
  File "/builddir/build/BUILD/Python-2.7.5/Lib/test/test_gdb.py", line 209, in get_stack_trace
    self.assertEqual(unexpected_errlines, [])
AssertionError: Lists differ: ['error: Macro % has illegal n... != []
First list contains 1 additional elements.
First extra element 0:
error: Macro % has illegal name (%define)
- ['error: Macro % has illegal name (%define)']
+ []
======================================================================
FAIL: test_NULL_ptr (test.test_gdb.PrettyPrintTests)
Ensure that a NULL PyObject* is handled gracefully
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Python-2.7.5/Lib/test/test_gdb.py", line 469, in test_NULL_ptr
    'backtrace'])
  File "/builddir/build/BUILD/Python-2.7.5/Lib/test/test_gdb.py", line 224, in get_gdb_repr
    import_site=import_site)
  File "/builddir/build/BUILD/Python-2.7.5/Lib/test/test_gdb.py", line 209, in get_stack_trace
    self.assertEqual(unexpected_errlines, [])
AssertionError: Lists differ: ['error: Macro % has illegal n... != []
First list contains 1 additional elements.
First extra element 0:
error: Macro % has illegal name (%define)
- ['error: Macro % has illegal name (%define)']
+ []
======================================================================
FAIL: test_builtin_function (test.test_gdb.PrettyPrintTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Python-2.7.5/Lib/test/test_gdb.py", line 608, in test_builtin_function
    gdb_repr, gdb_output = self.get_gdb_repr('print len')
  File "/builddir/build/BUILD/Python-2.7.5/Lib/test/test_gdb.py", line 224, in get_gdb_repr
    import_site=import_site)
  File "/builddir/build/BUILD/Python-2.7.5/Lib/test/test_gdb.py", line 209, in get_stack_trace
    self.assertEqual(unexpected_errlines, [])
AssertionError: Lists differ: ['error: Macro % has illegal n... != []
First list contains 1 additional elements.
First extra element 0:
error: Macro % has illegal name (%define)
- ['error: Macro % has illegal name (%define)']
+ []
======================================================================
FAIL: test_builtin_method (test.test_gdb.PrettyPrintTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Python-2.7.5/Lib/test/test_gdb.py", line 612, in test_builtin_method
    gdb_repr, gdb_output = self.get_gdb_repr('import sys; print sys.stdout.readlines')
  File "/builddir/build/BUILD/Python-2.7.5/Lib/test/test_gdb.py", line 224, in get_gdb_repr
    import_site=import_site)
  File "/builddir/build/BUILD/Python-2.7.5/Lib/test/test_gdb.py", line 209, in get_stack_trace
    self.assertEqual(unexpected_errlines, [])
AssertionError: Lists differ: ['error: Macro % has illegal n... != []
First list contains 1 additional elements.
First extra element 0:
error: Macro % has illegal name (%define)
- ['error: Macro % has illegal name (%define)']
+ []
======================================================================
FAIL: test_builtins_help (test.test_gdb.PrettyPrintTests)
Ensure that the new-style class _Helper in site.py can be handled
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Python-2.7.5/Lib/test/test_gdb.py", line 513, in test_builtins_help
    gdb_repr, gdb_output = self.get_gdb_repr('print __builtins__.help', import_site=True)
  File "/builddir/build/BUILD/Python-2.7.5/Lib/test/test_gdb.py", line 224, in get_gdb_repr
    import_site=import_site)
  File "/builddir/build/BUILD/Python-2.7.5/Lib/test/test_gdb.py", line 209, in get_stack_trace
    self.assertEqual(unexpected_errlines, [])
AssertionError: Lists differ: ['error: Macro % has illegal n... != []
First list contains 1 additional elements.
First extra element 0:
error: Macro % has illegal name (%define)
- ['error: Macro % has illegal name (%define)']
+ []
======================================================================
FAIL: test_classic_class (test.test_gdb.PrettyPrintTests)
Verify the pretty-printing of classic class instances
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Python-2.7.5/Lib/test/test_gdb.py", line 387, in test_classic_class
    print foo''')
  File "/builddir/build/BUILD/Python-2.7.5/Lib/test/test_gdb.py", line 224, in get_gdb_repr
    import_site=import_site)
  File "/builddir/build/BUILD/Python-2.7.5/Lib/test/test_gdb.py", line 209, in get_stack_trace
    self.assertEqual(unexpected_errlines, [])
AssertionError: Lists differ: ['error: Macro % has illegal n... != []
First list contains 1 additional elements.
First extra element 0:
error: Macro % has illegal name (%define)
- ['error: Macro % has illegal name (%define)']
+ []
......
----------------------------------------------------------------------
Ran 45 tests in 5.467s
FAILED (failures=31, skipped=14)
--------------------------------

Comment 9 Bohuslav "Slavek" Kabrda 2014-07-07 13:46:27 UTC
So, this is really weird because it seems that all the tests failed for you... Judging from the error messages, the failures are caused by some rpmbuild errors (the line "error: Macro % has illegal name (%define)" is a typical rpmbuild error). Did you modify the source rpm somehow? Did you build this in a clean mock environment? What buildroot are you using?

Comment 10 Levente Farkas 2014-07-07 13:54:22 UTC
this is the original src.rpm on a totally clean mock ie:
config_opts['plugin_conf']['ccache_enable'] = False
config_opts['plugin_conf']['root_cache_enable'] = False
config_opts['plugin_conf']['tmpfs_enable'] = False
so do not use any kind of cache. what do you mean by "What buildroot are you using"?

Comment 11 Bohuslav "Slavek" Kabrda 2014-07-07 13:58:04 UTC
(In reply to Levente Farkas from comment #10)
> this is the original src.rpm on a totally clean mock ie:
> config_opts['plugin_conf']['ccache_enable'] = False
> config_opts['plugin_conf']['root_cache_enable'] = False
> config_opts['plugin_conf']['tmpfs_enable'] = False
> so do not use any kind of cache. what do you mean by "What buildroot are you
> using"?

I meant, is this epel-7-x86_86, as in /etc/mock/epel-7-x86_86.cfg? Something different?

Comment 13 Bohuslav "Slavek" Kabrda 2015-04-27 12:22:58 UTC
Levente, can you please provide answer to question in comment 11? Thanks.

Comment 14 Levente Farkas 2015-04-27 12:44:06 UTC
it's exactly the same as epel-7-x86_86.

Comment 15 Bohuslav "Slavek" Kabrda 2015-04-28 12:10:04 UTC
I really can't reproduce this with python-2.7.5-16.el7 and epel-7-x86_86. Are you still running into this issue? If so, can you please post the output of "rpm -q mock" and "uname -a"? Can you also attach the mock config file that you use to configure the mock chroot (e.g. epel-7-x86_64.cfg)?

Thanks.

Comment 16 Levente Farkas 2015-04-28 15:58:47 UTC
running with original epel-7-x86_64.cfg


[robot@buildsys buildroot]$ rpm -q mock
mock-1.2.7-1.el7.noarch
[robot@buildsys buildroot]$ uname -a
Linux buildsys.int.vidux.hu 3.10.0-229.1.2.el7.x86_64 #1 SMP Fri Mar 27 03:04:26 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux


1 test failed:
    test_gdb
1 test altered the execution environment:
    test_distutils
38 tests skipped:
    test_aepack test_al test_applesingle test_bsddb185 test_bsddb3
    test_cd test_cl test_codecmaps_cn test_codecmaps_hk
    test_codecmaps_jp test_codecmaps_kr test_codecmaps_tw test_curses
    test_dl test_gl test_imgfile test_ioctl test_kqueue
    test_linuxaudiodev test_macos test_macostools test_msilib
    test_ossaudiodev test_pep277 test_scriptpackages test_smtpnet
    test_socketserver test_startfile test_sunaudiodev test_timeout
    test_tk test_ttk_guionly test_unicode_file test_urllib2net
    test_urllibnet test_winreg test_winsound test_zipfile64
3 skips unexpected on linux2:
    test_ioctl test_tk test_ttk_guionly
[1278350 refs]
make: *** [test] Error 1

test_gdb
test_NULL_instance_dict (test.test_gdb.PrettyPrintTests)
Ensure that a PyInstanceObject with with a NULL in_dict is handled ... FAIL
test_NULL_ob_type (test.test_gdb.PrettyPrintTests)
Ensure that a PyObject* with NULL ob_type is handled gracefully ... FAIL
test_NULL_ptr (test.test_gdb.PrettyPrintTests)
Ensure that a NULL PyObject* is handled gracefully ... FAIL
test_builtin_function (test.test_gdb.PrettyPrintTests) ... FAIL
test_builtin_method (test.test_gdb.PrettyPrintTests) ... FAIL
test_builtins_help (test.test_gdb.PrettyPrintTests)
Ensure that the new-style class _Helper in site.py can be handled ... FAIL
test_classic_class (test.test_gdb.PrettyPrintTests)
Verify the pretty-printing of classic class instances ... FAIL
test_corrupt_ob_type (test.test_gdb.PrettyPrintTests)
Ensure that a PyObject* with a corrupt ob_type is handled gracefully ... FAIL
test_corrupt_tp_flags (test.test_gdb.PrettyPrintTests)
Ensure that a PyObject* with a type with corrupt tp_flags is handled ... FAIL
test_corrupt_tp_name (test.test_gdb.PrettyPrintTests)
Ensure that a PyObject* with a type with corrupt tp_name is handled ... FAIL
test_dicts (test.test_gdb.PrettyPrintTests)
Verify the pretty-printing of dictionaries ... FAIL
test_exceptions (test.test_gdb.PrettyPrintTests) ... FAIL
test_frames (test.test_gdb.PrettyPrintTests) ... FAIL
test_frozensets (test.test_gdb.PrettyPrintTests)
Verify the pretty-printing of frozensets ... FAIL
test_getting_backtrace (test.test_gdb.PrettyPrintTests) ... FAIL
test_int (test.test_gdb.PrettyPrintTests)
Verify the pretty-printing of various "int" values ... FAIL
test_lists (test.test_gdb.PrettyPrintTests)
Verify the pretty-printing of lists ... FAIL
test_long (test.test_gdb.PrettyPrintTests)
Verify the pretty-printing of various "long" values ... FAIL
test_modern_class (test.test_gdb.PrettyPrintTests)
Verify the pretty-printing of new-style class instances ... FAIL
test_selfreferential_dict (test.test_gdb.PrettyPrintTests)
Ensure that a reference loop involving a dict doesn't lead proxyval ... FAIL
test_selfreferential_list (test.test_gdb.PrettyPrintTests)
Ensure that a reference loop involving a list doesn't lead proxyval ... FAIL
test_selfreferential_new_style_instance (test.test_gdb.PrettyPrintTests) ... FAIL
test_selfreferential_old_style_instance (test.test_gdb.PrettyPrintTests) ... FAIL
test_sets (test.test_gdb.PrettyPrintTests)
Verify the pretty-printing of sets ... FAIL
test_singletons (test.test_gdb.PrettyPrintTests)
Verify the pretty-printing of True, False and None ... FAIL
test_strings (test.test_gdb.PrettyPrintTests)
Verify the pretty-printing of strings ... FAIL
test_subclassing_list (test.test_gdb.PrettyPrintTests)
Verify the pretty-printing of an instance of a list subclass ... FAIL
test_subclassing_tuple (test.test_gdb.PrettyPrintTests)
Verify the pretty-printing of an instance of a tuple subclass ... FAIL
test_sets (test.test_gdb.PrettyPrintTests)
Verify the pretty-printing of sets ... FAIL
test_singletons (test.test_gdb.PrettyPrintTests)
Verify the pretty-printing of True, False and None ... FAIL
test_strings (test.test_gdb.PrettyPrintTests)
Verify the pretty-printing of strings ... FAIL
test_subclassing_list (test.test_gdb.PrettyPrintTests)
Verify the pretty-printing of an instance of a list subclass ... FAIL
test_subclassing_tuple (test.test_gdb.PrettyPrintTests)
Verify the pretty-printing of an instance of a tuple subclass ... FAIL
test_truncation (test.test_gdb.PrettyPrintTests)
Verify that very long output is truncated ... FAIL
test_tuples (test.test_gdb.PrettyPrintTests)
Verify the pretty-printing of tuples ... FAIL
test_unicode (test.test_gdb.PrettyPrintTests)
Verify the pretty-printing of unicode values ... FAIL
test_basic_command (test.test_gdb.PyListTests)
Verify that the "py-list" command works ... skipped 'Python was compiled with optimizations'
test_one_abs_arg (test.test_gdb.PyListTests)
Verify the "py-list" command with one absolute argument ... skipped 'Python was compiled with optimizations'
test_two_abs_args (test.test_gdb.PyListTests)
Verify the "py-list" command with two absolute arguments ... skipped 'Python was compiled with optimizations'
test_down_at_bottom (test.test_gdb.StackNavigationTests)
Verify handling of "py-down" at the bottom of the stack ... skipped 'Python was compiled with optimizations'
test_pyup_command (test.test_gdb.StackNavigationTests)
Verify that the "py-up" command works ... skipped 'Python was compiled with optimizations'
test_up_at_top (test.test_gdb.StackNavigationTests)
Verify handling of "py-up" at the top of the stack ... skipped 'Python was compiled with optimizations'
test_up_then_down (test.test_gdb.StackNavigationTests)
Verify "py-up" followed by "py-down" ... skipped 'Python was compiled with optimizations'
test_basic_command (test.test_gdb.PyBtTests)
Verify that the "py-bt" command works ... skipped 'Python was compiled with optimizations'
test_basic_command (test.test_gdb.PyPrintTests)
Verify that the "py-print" command works ... skipped 'Python was compiled with optimizations'
test_print_after_up (test.test_gdb.PyPrintTests) ... skipped 'Python was compiled with optimizations'
test_printing_builtin (test.test_gdb.PyPrintTests) ... skipped 'Python was compiled with optimizations'
test_printing_global (test.test_gdb.PyPrintTests) ... skipped 'Python was compiled with optimizations'
test_basic_command (test.test_gdb.PyLocalsTests) ... skipped 'Python was compiled with optimizations'
test_locals_after_up (test.test_gdb.PyLocalsTests) ... skipped 'Python was compiled with optimizations'
======================================================================
FAIL: test_NULL_instance_dict (test.test_gdb.PrettyPrintTests)
Ensure that a PyInstanceObject with with a NULL in_dict is handled
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Python-2.7.5/Lib/test/test_gdb.py", line 506, in test_NULL_instance_dict
    exptype='Foo')
  File "/builddir/build/BUILD/Python-2.7.5/Lib/test/test_gdb.py", line 444, in assertSane
    cmds_after_breakpoint=cmds_after_breakpoint)
  File "/builddir/build/BUILD/Python-2.7.5/Lib/test/test_gdb.py", line 224, in get_gdb_repr
    import_site=import_site)
  File "/builddir/build/BUILD/Python-2.7.5/Lib/test/test_gdb.py", line 209, in get_stack_trace
    self.assertEqual(unexpected_errlines, [])
AssertionError: Lists differ: ['error: Macro % has illegal n... != []
First list contains 1 additional elements.
First extra element 0:
error: Macro % has illegal name (%define)
- ['error: Macro % has illegal name (%define)']
+ []
======================================================================
FAIL: test_NULL_ob_type (test.test_gdb.PrettyPrintTests)
Ensure that a PyObject* with NULL ob_type is handled gracefully
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Python-2.7.5/Lib/test/test_gdb.py", line 477, in test_NULL_ob_type
    'set op->ob_type=0')
  File "/builddir/build/BUILD/Python-2.7.5/Lib/test/test_gdb.py", line 444, in assertSane
    cmds_after_breakpoint=cmds_after_breakpoint)
  File "/builddir/build/BUILD/Python-2.7.5/Lib/test/test_gdb.py", line 224, in get_gdb_repr
    import_site=import_site)
  File "/builddir/build/BUILD/Python-2.7.5/Lib/test/test_gdb.py", line 209, in get_stack_trace
    self.assertEqual(unexpected_errlines, [])
AssertionError: Lists differ: ['error: Macro % has illegal n... != []
First list contains 1 additional elements.
First extra element 0:
error: Macro % has illegal name (%define)
- ['error: Macro % has illegal name (%define)']
+ []
======================================================================
FAIL: test_NULL_ptr (test.test_gdb.PrettyPrintTests)
Ensure that a NULL PyObject* is handled gracefully
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Python-2.7.5/Lib/test/test_gdb.py", line 469, in test_NULL_ptr
    'backtrace'])
  File "/builddir/build/BUILD/Python-2.7.5/Lib/test/test_gdb.py", line 224, in get_gdb_repr
    import_site=import_site)
  File "/builddir/build/BUILD/Python-2.7.5/Lib/test/test_gdb.py", line 209, in get_stack_trace
    self.assertEqual(unexpected_errlines, [])
AssertionError: Lists differ: ['error: Macro % has illegal n... != []
First list contains 1 additional elements.
First extra element 0:
error: Macro % has illegal name (%define)
- ['error: Macro % has illegal name (%define)']
+ []
======================================================================
FAIL: test_builtin_function (test.test_gdb.PrettyPrintTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Python-2.7.5/Lib/test/test_gdb.py", line 608, in test_builtin_function
    gdb_repr, gdb_output = self.get_gdb_repr('print len')
  File "/builddir/build/BUILD/Python-2.7.5/Lib/test/test_gdb.py", line 224, in get_gdb_repr
    import_site=import_site)
  File "/builddir/build/BUILD/Python-2.7.5/Lib/test/test_gdb.py", line 209, in get_stack_trace
    self.assertEqual(unexpected_errlines, [])
....

Comment 18 Robert Kuska 2015-05-19 06:17:58 UTC
Can you upload your src.rpm somewhere? I can't reproduce this.

Comment 20 Robert Kuska 2015-05-19 13:08:37 UTC
I've rebuilt your .src.rpm successfully. Can you post the command which you use to run rebuild?

Comment 21 Levente Farkas 2015-06-08 12:07:21 UTC
mock -r epel-7-x86_64 --define "rhel 7" --define ".el7 1" --define "dist .el7" --rebuild /mnt/download/mirror/centos-vault/7.1.1503/os/Source/SPackages/python-2.7.5-16.el7.src.rpm

Comment 22 Robert Kuska 2015-09-07 06:50:38 UTC
This is actually not a bug inside python, it's caused by illegal macro name ".el7".

From http://www.rpm.org/wiki/PackagerDocs/Macros:
"Name may be composed of alphanumeric characters, and the character `_' and must be at least 3 characters in length."

Tests within test_gdb already filter out some common gdb (un)expected outputs but we can't simply filter out all as there is huge range of possible outputs.

Sorry for late response I somewhat forgot about this bug :).

Comment 23 Levente Farkas 2015-09-07 07:39:10 UTC
dist marco all rhel/centos/fedora release was and is set to .el6, el6, fc20 etc. since about 10-20 years. so even if it's a illegal than it'd have to fix in the packaging standard.

Comment 24 Robert Kuska 2015-09-07 08:04:19 UTC
I was referring to `--define ".el7 1"` where `.el7` is (illegal) macro name and `1` is (correct) value ('--define "dist .el7"' here `dist` is (correct) macro name with `.el7` being (correct) macro value)