Skip to content

bpo-11191: skip the distutils test 'test_search_cpp' when AIX and not gcc as compiler, etc.#5206

Closed
aixtools wants to merge 1240 commits into
python:masterfrom
aixtools:bpo-11191
Closed

bpo-11191: skip the distutils test 'test_search_cpp' when AIX and not gcc as compiler, etc.#5206
aixtools wants to merge 1240 commits into
python:masterfrom
aixtools:bpo-11191

Conversation

@aixtools

@aixtools aixtools commented Jan 16, 2018

Copy link
Copy Markdown
Contributor

skip the distutils test 'test_search_cpp' when AIX and not gcc as compiler
as xlc et al do not support -o (as output). 'cpp' output is ALWAYS to stdout
also add additional logic Lib/test/init.py for when
sysconfig.customize_compiler returns [] rather than None
add the additional argument '-C' for AIX xlc cpp processing so comments are
included in the cpp output rather than replaced by a single ' ' (space) char.

https://bugs.python.org/issue11191

@aixtools

aixtools commented Jan 16, 2018

Copy link
Copy Markdown
Contributor Author

A) This 'fixes' the distutils test 'test_search_cpp' by skipping it (on AIX) when the compiler is not gcc. When IBM XLC is used and the argument -E is applied, the argument -o is not accepted.
B) Even though the test is skipped, the processing of the 'pp_args' is corrected (-o is not added, -C is added so that comments are included in the output)
C) There was an additional error that caused 6 tests to fail (when sysconfig.customize_compiler returned [] rather than None). This is also corrected.

I am not claiming that this is the best solution. However, it does show where work needs to be done. Improvements are welcomed.

ned-deily and others added 27 commits June 27, 2018 18:45
The 'wikipedia' example is now 'rosette', describing what it draws.
The 'penrose' print output is reduced.  The 'tree' '1024'
output is eliminated.
)

Fix passing lists and tuples of strings containing special characters
'"', '\\', '{', '}' and '\n' as options to tkinter.ttk widgets.
* `flags` is indeed deprecated, but there is a validation on its value for
  backwards compatibility reasons.  This adds mention of this in the docs.
* The docs say that `sizehint` is deprecated and ignored, but it is still
  used when `epoll_create1()` is unavailable. This adds mention of this in
  the docs.
* `sizehint=-1` is acceptable again, and is replaced with `FD_SETSIZE-1`.
  This is needed to have a default value available at the Python level,
  since `FD_SETSIZE` is not exposed to Python. (see: bpo-31938)
* Reject `sizehint=0` since it is invalid to pass on to `epoll_create()`.

The relevant tests have also been updated.
They can be exposed when some C API calls fail due to lack of
memory.

* Failed Py_BuildValue() could cause an assertion error in the
  following TextIOWrapper.tell().
* input_chunk could be decrefed twice in TextIOWrapper.seek()
  after failed Py_BuildValue().
* initvalue could leak in StringIO.__getstate__() after failed
  PyDict_Copy().
Using OptiPNG 0.7.7.
Used command is: `find . -name '*.png' | xargs optipng -o7`
)

 The line-length limit is not needed because the pages appear in a separate app rather
 than on a browser tab.  It can also interact badly with the DPI setting.
When hunting memory leaks using -R 3:3, test_imap_unordered() of
test_multiprocessing leaks randomly a few memory blocks. It is a
false alarm: when testing using -R 3:20 for example, no leak is
detected.

Modify test_imap_unordered() to be closer to test_imap():

* Only test 10 numbers instead of 1000: it's a pool of 4 processes, so
  10 is enough to test at least one number per process
* Use chunksize=100 instead of chunksize=53 to mimick test_imap()
The Opera Browser was using a outdated command line invocation that resulted in an incorrect URL being opened in the browser when requested using the webbrowser module.

* Correct the arguments passed to the Opera Browser when opening a new URL.
…ythonGH-7918)

PyErr_Print() will not return when the exception is a SystemExit, so
decref the __main__ module object in that case.
Without tp_clear, GC can't break cyclic reference.
It will cause memory leak when cyclic reference is
created intentionally.
@aixtools
aixtools requested a review from a team August 8, 2018 22:21
@aixtools
aixtools requested a review from a team as a code owner August 8, 2018 22:21
@aixtools

aixtools commented Aug 8, 2018

Copy link
Copy Markdown
Contributor Author

Closing the PR - as the merge with current master creates a lot of noise. Will resubmit in a cleaner form.

@aixtools aixtools closed this Aug 8, 2018
@aixtools
aixtools deleted the bpo-11191 branch August 8, 2018 22:39
@trudeaun

Copy link
Copy Markdown

IBM has just released a new XL C/C++ for AIX compiler, V16.1. The -E option has been updated so that the combination of -E -o stores the preprocessed result in the file specified by -o. See more details on Knowledge Center.

@aixtools

aixtools commented Dec 22, 2018

Copy link
Copy Markdown
Contributor Author

Nice. That will make it go away for anyone with the latest compiler - so now the patch would need to be even more specific - like many macos ones, where the version of the os is important. (For this the versio nof the compiler).
However, as a private person (hobbyist) it will never work for me. I am, it seems, many versions behind (or did they finally sync the Fortran and XLC version numbers) - and my pockets are not deep enough. So my bot would always continue to fail on this - and one fail - ALL fail, as far as the bot results are concerned.

Sigh. Mustard after the meal has been eaten.

p.s. PR 8709 (#8709) is the open PR for this issue.

@trudeaun

trudeaun commented Jan 2, 2019

Copy link
Copy Markdown

Starting in V16.1, the Fortran and XLC version numbers are finally synched up, so V16.1's predecessor is V13.1.3. Which version are you on currently? If you have an active license for an older version, you should be able to upgrade to the latest version without charge.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.