Éric Araujo [Fri, 12 Aug 2011 17:51:35 +0000 (19:51 +0200)]
Clean up test_shutil, to facilitate upcoming improvements (#12721).
The tests now have two convenience functions to wrap os.path.join, open
and read or write instead of four or six slightly different functions.
The new functions accept a tuple of path segments but not a list
anymore, as it makes no sense to use a list here; I have also removed
the default value for the contents in write_file, as I find it better to
have the contents at the call site.
For simple open then read/write calls, I have left the usual idiom (with
open + read/write), as it is short and readable enough.
I’ve also changed some convoluted cleanup code to just use rmtree, and
removed dubious LBYL os.path.exists checks. The tests still pass on my
machine, and leave no file in $TMP. test_shutil is not as clean as it
could be, but I’ll stop here.
Initial patch provided by Hynek Schlawack, in preparation for a new
feature with new tests in #12715.
Éric Araujo [Fri, 12 Aug 2011 15:50:08 +0000 (17:50 +0200)]
patchcheck: don’t talk about the test suite when no code file were changed.
The line about the test suite will still get printed for changes in
Tools for example, which aren’t covered by the test suite, but it’s not
a big deal IMO.
Éric Araujo [Wed, 10 Aug 2011 00:46:33 +0000 (02:46 +0200)]
Revert cosmetic change.
A reminder: distutils only gets bug fixes. Cosmetic changes, especially
in tests, are not worth the time spent, and can even make future merges
of bugfixes a bit less easy.
Éric Araujo [Tue, 9 Aug 2011 21:18:06 +0000 (23:18 +0200)]
Avoid unwanted behavior change in shlex.quote (see #9723).
I simplified the quote code to use a regex instead of a loop+test when I
moved pipes.quote to shlex in 5966eeb0457d; Ezio Melotti pointed out
that my regex contained redundant parts (now removed) and allowed
non-ASCII characters (now disallowed).
I think common UNIX shells don’t quote non-ASCII characters, but there’s
no harm in doing so. We’ll see if users request a change.
Éric Araujo [Tue, 9 Aug 2011 21:03:43 +0000 (23:03 +0200)]
Test pipes.quote with a few non-ASCII characters (see #9723).
That pipes.quote thinks all non-ASCII characters need to be quoted may
be a bug, but right now I’m committing this test to make sure I haven’t
introduced a behavior change in 3.3 when I simplified the code to use a
regex (in 5966eeb0457d).
Georg Brandl [Mon, 8 Aug 2011 19:45:13 +0000 (21:45 +0200)]
Confirm that the prime example is actually correct. We get so many complaints about a "buggy example" on docs@python, let us hope this cuts them in half at least.
Éric Araujo [Sat, 6 Aug 2011 14:58:15 +0000 (16:58 +0200)]
Merge doc changes from 3.2 (#8617, #10745).
In the install and library docs, I changed the text to refer to
packaging instead of distutils. I also checked that the documented
paths correctly reflect what’s really defined in sysconfig; the main
difference with paths defined in distutils.install is that include
directories don’t end with the distribution name anymore (i.e. distutils
uses include/python3.3/spam, sysconfig include/python3.3), I have no
idea why.
Éric Araujo [Sat, 6 Aug 2011 14:30:42 +0000 (16:30 +0200)]
Add documentation for PEP 370 features in distutils (#10745).
This started out as an easy task, just add a section describing this
alternate scheme, but I found a lot of cleanup to do along the way:
- fixed inverted reST targets
- fixed entries for modules (hi abiflags!) or data files
- avoided duplicating the same options listing five or six times
- added missing entries for C headers locations
- added documentation for --install-lib
- fixed a few misuses of the option role (see #9312), but not all (not
worth the time, but will do it in packaging docs)
- fixed some markup
The paths fixes were done with an eye on the source code in the install
command, so they really describe what’s actually done. The situation on
Mac OS X is rather messy: the fix for #8084 touched site and sysconfig,
but distutils doesn’t use these files. I suspect we have a mismatched
stdlib at the moment, and the fix is not even clear (see the bug report
for further discussion).
Éric Araujo [Fri, 5 Aug 2011 23:51:07 +0000 (01:51 +0200)]
Improve documentation for PEP 370 support in site module (#8617).
site.USER_BASE and site.USER_SITE are now fully documented. PEP 370 is
outdated with respects to the Mac framework situation, but the code in
sysconfig and the example in the 3.2 What’s New document helped me find
the right values to document for Mac OS X.
The command-line interface of the site module, partly documented in the
3.2 What’s New, is fully described in the module docs.
The purpose of the usercustomize module is explained in the site docs,
with a gentle introduction in the tutorial (right after the section that
talks about PYTHONSTARTUP; a comment mentions it should be moved from
the tutorial to another file, but that will be another bug).
Various markup and wording improvements were made along the way in the
site module docs. Duplicate and incomplete declarations of environment
variables have also been removed (the original bug report was actually
about these entries :). The site module docs are still a bit messy;
I’ll see about improving them for #11553.
All these sections are copiously interlinked and findable from the doc
indexes.