Bug 1850933
| Summary: | Building python in mock fails some tests (namely test_smtplib) | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | dani |
| Component: | python3.9 | Assignee: | Python Maintainers <python-maint> |
| Status: | CLOSED WORKSFORME | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | low | ||
| Version: | rawhide | CC: | cstratak, dmalcolm, m.cyprian, mhroncok, pviktori, python-sig, rkuska, shcherbina.iryna, slavek.kabrda, thrnciar, tomspur, torsava, vstinner |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2020-11-13 13:49:20 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: | |||
Opened new issue as per https://bugzilla.redhat.com/show_bug.cgi?id=1850621#c4 The additional info copied from https://bugzilla.redhat.com/show_bug.cgi?id=1850621#c3 : FAILED (failures=1) test test_cmd_line_script failed 2 tests failed again: test_cmd_line_script test_code_module == Tests result: FAILURE then FAILURE == ====================================================================== FAIL: test_pep_409_verbiage (test.test_cmd_line_script.CmdLineTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/dani/rpmbuild/BUILD/Python-3.8.3/Lib/test/test_cmd_line_script.py", line 526, in test_pep_409_verbiage self.assertEqual(len(text), 4) AssertionError: 5 != 4 ---------------------------------------------------------------------- test_cause_tb (test.test_code_module.TestInteractiveConsole) ... Binary field with zero length FAIL ====================================================================== FAIL: test_cause_tb (test.test_code_module.TestInteractiveConsole) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/dani/rpmbuild/BUILD/Python-3.8.3/Lib/test/test_code_module.py", line 132, in test_cause_tb self.assertIn(expected, output) AssertionError: '\nAttributeError\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File "<console>", line 1, in <module>\nValueError\n' not found in 'Python <MagicMock name=\'sys.version\' id=\'140286517534336\'> on <MagicMock name=\'sys.platform\' id=\'140286517051296\'>\nType "help", "copyright", "credits" or "license" for more information.\n(InteractiveConsole)\nAttributeError\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File "/home/dani/rpmbuild/BUILD/Python-3.8.3/Lib/code.py", line 90, in runcode\n exec(code, self.locals)\n File "<console>", line 1, in <module>\nValueError\n\nnow exiting InteractiveConsole...\n' ---------------------------------------------------------------------- Do you build the F32 package on Fedora 32? Can you reproduce the failures in mock? $ mock -r fedora-32-x86_64 --with flatpackage --with bootstrap --without rpmwheels python3-3.8.3-2.fc32.src.rpm 1. Yes, building on Fedora 32
2. Running in mock produces a different error - in test_smtplib:
test_with_statement (test.test_smtplib.SMTPSimTests) ... ERROR
test_with_statement_QUIT_failure (test.test_smtplib.SMTPSimTests) ... ERROR
test_send_message_uses_smtputf8_if_addrs_non_ascii (test.test_smtplib.SMTPUTF8SimTests) ... ok
test_send_unicode_with_SMTPUTF8_via_low_level_API (test.test_smtplib.SMTPUTF8SimTests) ... ok
test_send_unicode_with_SMTPUTF8_via_sendmail (test.test_smtplib.SMTPUTF8SimTests) ... ok
test_test_server_supports_extensions (test.test_smtplib.SMTPUTF8SimTests) ... ok
testLineTooLong (test.test_smtplib.TooLongLineTests) ... test test_smtplib failed
ok
======================================================================
ERROR: test_with_statement (test.test_smtplib.SMTPSimTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/builddir/build/BUILD/Python-3.8.3/Lib/test/test_smtplib.py", line 1068, in test_with_statement
code, message = smtp.noop()
File "/builddir/build/BUILD/Python-3.8.3/Lib/smtplib.py", line 518, in noop
return self.docmd("noop")
File "/builddir/build/BUILD/Python-3.8.3/Lib/smtplib.py", line 425, in docmd
return self.getreply()
File "/builddir/build/BUILD/Python-3.8.3/Lib/smtplib.py", line 398, in getreply
raise SMTPServerDisconnected("Connection unexpectedly closed")
smtplib.SMTPServerDisconnected: Connection unexpectedly closed
======================================================================
ERROR: test_with_statement_QUIT_failure (test.test_smtplib.SMTPSimTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/builddir/build/BUILD/Python-3.8.3/Lib/test/test_smtplib.py", line 1078, in test_with_statement_QUIT_failure
smtp.noop()
File "/builddir/build/BUILD/Python-3.8.3/Lib/smtplib.py", line 518, in noop
return self.docmd("noop")
File "/builddir/build/BUILD/Python-3.8.3/Lib/smtplib.py", line 425, in docmd
return self.getreply()
File "/builddir/build/BUILD/Python-3.8.3/Lib/smtplib.py", line 398, in getreply
raise SMTPServerDisconnected("Connection unexpectedly closed")
smtplib.SMTPServerDisconnected: Connection unexpectedly closed
----------------------------------------------------------------------
Ran 63 tests in 240.786s
FAILED (errors=2)
1 test failed again:
test_smtplib
== Tests result: FAILURE then FAILURE ==
400 tests OK.
10 slowest tests:
- test_smtplib: 4 min
- test_urllib2: 2 min 40 sec
- test_concurrent_futures: 2 min 34 sec
- test_socket: 2 min 23 sec
- test_multiprocessing_spawn: 1 min 47 sec
- test_logging: 1 min 40 sec
- test_urllib: 1 min 20 sec
- test_multiprocessing_forkserver: 1 min 16 sec
- test_asyncio: 1 min 10 sec
- test_multiprocessing_fork: 1 min 7 sec
1 test failed:
test_smtplib
20 tests skipped:
test_curses test_devpoll test_ioctl test_kqueue test_msilib
test_ossaudiodev test_smtpnet test_socketserver test_startfile
test_timeout test_tix test_tk test_ttk_guionly test_urllib2net
test_urllibnet test_winconsoleio test_winreg test_winsound
test_xmlrpc_net test_zipfile64
1 re-run test:
test_smtplib
Total duration: 9 min 31 sec
Tests result: FAILURE then FAILURE
error: Bad exit status from /var/tmp/rpm-tmp.kPlx6t (%check)
The test_cmd_line_script and test_code_module test failures might be caused by your environment: installed .pth files, Shell environment variables, etc. We cannot really guarantee that all tests will pass during such build. The mock build uses an isolated environment without such things. I can however reproduce the test_smtplib failure. Will RPMs produced in mock work normally? if so, that's a good enough workaround. Yes, it will. This is how official Fedora builds are done (in mock in https://koji.fedoraproject.org/koji/). We're sorry, but we don't have the capacity to look into this now. If you want to help, could you test: - if flatpackage actually triggers this failure, or if flatpackage is unrelated? - if Python 3.8.4 fixes the issue? I've seen this as well, no flatpakcage. It might have been Python 3.8 or 3.9 in mock. This also happens on python3.9 3.9.0rc1. The command: mock -r fedora-32-x86_64 --with flatpackage --with bootstrap --without rpmwheels python3.9-3.9.0-1.fc34.src.rpm still works perfectly for me. We agreed with Miro to close this now: sadly, we'll probably always have bigger priorities than investigating this further. If you'd like to help, please reopen and look at the questions above. |
Description of problem: Trying to build a flatpackage python38 from unmodified src rpm python3-3.8.3-2.fc32.src.rpm using the command line: rpmbuild -ba ~/rpmbuild/SPECS/python3.spec --with flatpackage --with bootstrap --without rpmwheels results in error: 2 tests failed: test_cmd_line_script test_code_module Version-Release number of selected component (if applicable): python3-3.8.3-2 How reproducible: Always Steps to Reproduce: 1. rpm -i python3-3.8.3-2.fc32.src.rpm 2. rpmbuild -ba ~/rpmbuild/SPECS/python3.spec --with flatpackage --with bootstrap --without rpmwheels 3. Actual results: Bad exit status from /var/tmp/rpm-tmp.x2PZME (%check) Expected results: RPMs built according to command line flags Additional info: gcc version 10.1.1