Commit graph

3250 commits

Author SHA1 Message Date
Armin Rigo
89a39461bf Wrote down the invariants of some common objects whose structure is
exposed in header files.  Fixed a few comments in these headers.

As we might have expected, writing down invariants systematically exposed a
(minor) bug.  In this case, function objects have a writeable func_code
attribute, which could be set to code objects with the wrong number of
free variables.  Calling the resulting function segfaulted the interpreter.
Added a corresponding test.
2004-10-28 16:32:00 +00:00
Walter Dörwald
063e1e846d Trigger a few error cases in Modules/_codecsmodule.c. 2004-10-28 13:04:26 +00:00
Brett Cannon
14adbe77b5 Fix bug of implementation of algorithm for calculating the date from year, week
of the year, and day of the week.  Was not taking into consideration properly
the issue of when %U is used for the week of the year but the year starts on
Monday.

Closes bug #1045381 again.
2004-10-28 04:49:21 +00:00
Hye-Shik Chang
7afa64e260 Add a comment explains why we should modify mtime here. 2004-10-27 03:12:05 +00:00
Tim Peters
1816d79bac Removed newly redundant embedded import. 2004-10-27 02:44:10 +00:00
Tim Peters
10d59f3fa1 Whitespace normalization. 2004-10-27 02:43:25 +00:00
Tim Peters
f1af9c0896 Paper over bug 1054615 by passing sane values to os.utime().
The underlying bug still exists, but also existed in 2.3.4:
import.c's load_source_module() returns NULL if
PyOS_GetLastModificationTime() returns -1, but
PyOS_GetLastModificationTime() doesn't set any exception when it returns
-1, and neither does load_source_module() when it gets back -1.  This
leads to "SystemError: NULL result without error in PyObject_Call"
on an import that fails in this way.
2004-10-27 02:33:15 +00:00
Greg Ward
48aa84b24d Update optparse module and test suite to Optik 1.5a2. 2004-10-27 02:20:04 +00:00
Just van Rossum
fc93e17598 - Added tests for the string load/dump function.
- Added a chunk of plist data as generated by Cocoa's NSDictionary and
  verify we output the same (including formatting)
- Changed the "literal" plist code to match the raw test data
2004-10-26 11:02:08 +00:00
Hye-Shik Chang
182ac85147 SF #737473: Show up-to-date source code in tracebacks always.
And add an optional argument 'filename' to linecache.checkcache()
to enable checking caches per-file.
2004-10-26 09:16:42 +00:00
Raymond Hettinger
23109ef11e SF bug #1053819: Segfault in tuple_of_constants
Peepholer could be fooled into misidentifying a tuple_of_constants.
Added code to count consecutive occurrences of LOAD_CONST.
Use the count to weed out the misidentified cases.
Added a unittest.
2004-10-26 08:59:14 +00:00
Raymond Hettinger
561fbf138d SF bug #1054139: serious string hashing error in 2.4b1
_PyString_Resize() readied strings for mutation but did not invalidate
the cached hash value.
2004-10-26 01:52:37 +00:00
Tim Peters
8ceefc5a56 Whitespace normalization. 2004-10-25 03:19:41 +00:00
Raymond Hettinger
9047c8f73d SF bug #1048870: call arg of lambda not updating 2004-10-24 00:10:06 +00:00
Peter Astrand
c19ccc9f11 Removed test_close_fds, because it's too unreliable. We simply cannot
know that the newly-started Python process only has 3 filedescriptors
open. Fixes bug 1048808.
2004-10-21 19:28:34 +00:00
Andrew M. Kuchling
d4f2552ef8 Add test case for bug #1017553 2004-10-20 11:47:01 +00:00
Brett Cannon
8abcc5d533 Add support for %U and %W to contribute to calculating the date when the year
and day of the week are specified.

Closes bug #1045381.
2004-10-18 01:37:57 +00:00
Hye-Shik Chang
af5c7cff56 SF #1048865: Fix a trivial typo that breaks StreamReader.readlines() 2004-10-17 23:51:21 +00:00
Raymond Hettinger
a9f6092904 Fix and test weak referencing of itertools.tee objects. 2004-10-17 16:40:14 +00:00
Neal Norwitz
6627a96705 Invalid patterns to substitute and safe_substitute would crash since pattern
is not a local variable.  Add a test case.
2004-10-17 16:27:18 +00:00
Tim Peters
1dbf2434d5 remove_stderr_debug_decorations(): Always try the substitution. Else
this test failed under the combination of passing -O to a debug-build
Python.  Now all 4 of those pass ({debug, release} x {-O, no -O}).
2004-10-14 04:16:54 +00:00
Neal Norwitz
64fa74df21 Get test to pass on amd64 (opteron). This is pretty hacky, but
rangeobject.c has an #ifdef that is reached only when LONG_MAX != INT_MAX
2004-10-14 03:46:18 +00:00
Jim Fulton
7d428788e1 Fixed a small bug. doctest didn't handle unicode docstrings containing
non-ascii characters.
2004-10-13 14:15:32 +00:00
Fredrik Lundh
9e29fc584c Don't spend quite as much time looking for leaks on Windows, where
it's rather expensive to create new processes.
2004-10-13 07:54:54 +00:00
Fredrik Lundh
59c0559554 normalize case when comparing directory names (problem reported by
"Khalid A. B." on python-dev)
2004-10-13 06:55:40 +00:00
Martin v. Löwis
f7e74b789d Add a comment explaining -kb. 2004-10-13 05:29:39 +00:00
Tim Peters
3761e8dd66 New helper remove_stderr_debug_decorations(). This test passes in a
debug build on Windows now.  More applications of the helper may be needed
on non-Windows platforms.
2004-10-13 04:07:12 +00:00
Tim Peters
29b6b4f7c7 Kill several problems at once: test_poll() failed sometimes for me.
Turns out the mysterious "expected output" file contained exactly N dots,
because test_poll() has a loop that *usually* went around N times,
printing one dot on each loop trip.  But there's no guarantee of that,
because the exact value of N depended on the vagaries of scheduling
time.sleep()s across two different processes.  So stopped printing dots,
and got rid of the expected output file.  Add a loop counter instead,
and verify that the loop goes around at least a couple of times.  Also
cut the minimum time needed for this test from 4 seconds to 1.
2004-10-13 03:43:40 +00:00
Tim Peters
4052fe5a9b test_stdout_none(): Don't print "banana" to the screen in the middle
of the test.  It's testing stdout in a different process, so it has to
print something, but I didn't find "banana" to be self-explanatory.
2004-10-13 03:29:54 +00:00
Tim Peters
876c43245e Windows test_creationflags() test: print msg to stderr informing the
tester that a DOS box is expected to flash.  Slash the sleep from 2
seconds to a quarter second (why would we want to wait 2 seconds just
to stare at a DOS box?).
2004-10-13 03:21:35 +00:00
Tim Peters
f73cc9714f XXX about extreme expense of test_no_leaking() on Windows. I'm not sure
what this is trying to do.  If it's necessary for it to create > 1000
processes, it should be controlled by a new resource and not run by
default on Windows.
2004-10-13 03:14:40 +00:00
Tim Peters
7b759da1b8 Experience with Zope2's tests showed it's a Bad Idea to make unittest
display a test's docstring as "the name" of the test.  So changed most
test docstrings to comments, and removed the clearly useless ones.  Now
unittest reports the actual names of the test methods.
2004-10-12 22:29:54 +00:00
Tim Peters
3b01a70f76 Wrap long lines. 2004-10-12 22:19:32 +00:00
Tim Peters
e718f615b8 Whitespace normalization. 2004-10-12 21:51:32 +00:00
Fredrik Lundh
5b3687df2e Added Peter Astrand's subprocess module. 2004-10-12 15:26:28 +00:00
Michael W. Hudson
29589a06f6 Open source files in universal newlines mode. 2004-10-11 15:34:31 +00:00
Brett Cannon
4f35c71543 Locale data that contains regex metacharacters are now properly escaped.
Closes bug #1039270.
2004-10-06 02:11:37 +00:00
Tim Peters
ab9b32c077 Whitespace normalization. 2004-10-03 18:35:19 +00:00
David Goodger
1cbf206d32 SF bug #997050: Document, test, & check for non-string values in ConfigParser. Moved the new string-only restriction added in rev. 1.65 to the SafeConfigParser class, leaving existing ConfigParser & RawConfigParser behavior alone, and documented the conditions under which non-string values work. 2004-10-03 15:55:09 +00:00
David Goodger
68a1abdade SF bug #1017864: ConfigParser now correctly handles default keys, processing them with `ConfigParser.optionxform` when supplied, consistent with the handling of config file entries and runtime-set options. 2004-10-03 15:40:25 +00:00
Just van Rossum
16c3e08931 use new readPlist() and writePlist() functions 2004-10-02 14:06:18 +00:00
Armin Rigo
974d757af1 Upon insertion, if memory runs out, the deque was left in a corrupted state.
deque_item(): a performance bug: the linked list of blocks was followed
from the left in most cases, because the test (i < (deque->len >> 1)) was
after "i %= BLOCKLEN".

deque_clear(): replaced a call to deque_len() with deque->len; not sure what
this call was here for, nor if all compilers under the sun would inline it.

deque_traverse(): I belive that it could be called by the GC when the deque
has leftblock==rightblock==NULL, because it is tracked before the first block
is allocated (though closely before).  Still, a C extension module subclassing
deque could provide its own tp_alloc that could trigger a GC collection after
the PyObject_GC_Track()...

deque_richcompare(): rewrote to cleanly check for end-of-iterations instead of
relying on deque.__iter__().next() to succeed exactly len(deque) times -- an
assumption which can break if deques are subclassed.  Added a test.

I wonder if the length should be explicitely bounded to INT_MAX, with
OverflowErrors, as in listobject.c.  On 64-bit machines, adding more than
INT_MAX in the deque will result in trouble.  (Note to anyone/me fixing
this: carefully check for overflows if len is close to INT_MAX in the
following functions: deque_rotate(), deque_item(), deque_ass_item())
2004-10-02 13:59:34 +00:00
Tim Peters
10c7e86454 deque_traverse(): If the deque had one block, and its rightindex was
BLOCKLEN-1, this assert-failed in a debug build, or went wild with a
NULL pointer in a release build.  Reported on c.l.py by Stefan Behnel.
2004-10-01 02:01:04 +00:00
Raymond Hettinger
7b46f6b2a5 Add tests for syntax errors. 2004-09-30 22:29:03 +00:00
Raymond Hettinger
49c522be80 Expand scope to include general mapping protocol tests.
Many of these tests are redundant, but this will ensure
that the mapping protocols all stay in sync.
Also, added a test for dictionary subclasses.
2004-09-30 15:07:29 +00:00
Walter Dörwald
59b23e8b80 Add missing test_dict.py from patch #736962. 2004-09-30 13:46:00 +00:00
Raymond Hettinger
5ea7e31076 Improve test coverage. 2004-09-30 07:47:20 +00:00
Raymond Hettinger
ff5dc0ee77 Improve test coverage. 2004-09-29 11:40:50 +00:00
Raymond Hettinger
bcab2b25f9 Improve test coverage. 2004-09-29 08:03:17 +00:00
Edward Loper
7d88a58e85 Reverted the addition of a NORMALIZE_NUMBERS option, per Tim Peter's
request.  Tim says that "correct 'fuzzy' comparison of floats cannot
be automated."  (The motivation behind adding the new option
was verifying interactive examples in Python's latex documentation;
several such examples use numbers that don't print consistently on
different platforms.)
2004-09-28 05:50:57 +00:00