Commit Graph

37 Commits

Author SHA1 Message Date
Jeremy Hylton b7a7731e01 Add tests for getattr() and hasattr() with non-string args 2001-07-30 22:49:11 +00:00
Tim Peters 7321ec437b SF bug #444510: int() should guarantee truncation.
It's guaranteed now, assuming the platform modf() works correctly.
2001-07-26 20:02:17 +00:00
Tim Peters 1dad6a86de SF bug 434186: 0x80000000/2 != 0x80000000>>1
i_divmod:  New and simpler algorithm.  Old one returned gibberish on most
boxes when the numerator was -sys.maxint-1.  Oddly enough, it worked in the
release (not debug) build on Windows, because the compiler optimized away
some tricky sign manipulations that were incorrect in this case.
Makes you wonder <wink> ...
Bugfix candidate.
2001-06-18 19:21:11 +00:00
Guido van Rossum 7f9b5e014b OK, changed my mind once more on this. The comparison hierarchy is
now

    None < all numeric types < all other types

so that once again

    map(max, Squares(3), Squares(2))

equals

    [0, 1, 4]
2001-01-22 19:30:07 +00:00
Guido van Rossum d9bae8b95a Numeric-smelling objects now once again compare smaller than
non-numeric ones, so 4 < None again in the 'map' test.
2001-01-22 16:01:24 +00:00
Guido van Rossum 0c6614c789 Add test that ensures hash([]) and hash({}) raise TypeError. 2001-01-18 23:36:14 +00:00
Fred Drake 1a7aab70d1 When a PyCFunction that takes only positional parameters is called with
an empty keywords dictionary (via apply() or the extended call syntax),
the keywords dict should be ignored.  If the keywords dict is not empty,
TypeError should be raised.  (Between the restructuring of the call
machinery and this patch, an empty dict in this situation would trigger
a SystemError via PyErr_BadInternalCall().)

Added regression tests to detect errors for this.
2001-01-04 22:33:02 +00:00
Neil Schemenauer 38f0223c9c Numbers no longer compare smaller than all other types. Fix the only
part of the testsuite that breaks.  The old behavior may be restored.
2001-01-04 01:33:41 +00:00
Jeremy Hylton 5ab366119e Actually call the object with an __call__ method, instead of just
checking if it is callable.  This is the only place in the test suite
where an __call__ method is called.
2001-01-03 23:53:31 +00:00
Fred Drake 132dce2246 Update the code to better reflect recommended style:
Use != instead of <> since <> is documented as "obsolescent".
Use "is" and "is not" when comparing with None or type objects.
2000-12-12 23:11:42 +00:00
Marc-André Lemburg d1ba443206 This patch adds a new Python C API called PyString_AsStringAndSize()
which implements the automatic conversion from Unicode to a string
object using the default encoding.

The new API is then put to use to have eval() and exec accept
Unicode objects as code parameter. This closes bugs #110924
and #113890.

As side-effect, the traditional C APIs PyString_Size() and
PyString_AsString() will also accept Unicode objects as
parameters.
2000-09-19 21:04:18 +00:00
Barry Warsaw 3a9d0611fb Applying patch #100994 to allow JPython to use more of the standard
Python test suite.  Specifically,

- import time instead of strop in test_b1

- test for ClassType of exceptions using isinstance instead of
  equality in test_exceptions

- remove __builtins__ from dir() output in test_pkg

test_pkg output needs to be regenerated.
2000-09-01 06:53:52 +00:00
Jeremy Hylton cf29bb2aa9 style nits 2000-08-23 21:11:05 +00:00
Vladimir Marangozov d57f5cff0e Break the cycles after testing cmp() on cyclic objects. 2000-07-14 04:32:09 +00:00
Jeremy Hylton a05e293a21 typos fixed by Rob Hooft 2000-06-28 14:48:01 +00:00
Jeremy Hylton 4a3dd2dcc2 Fix PR#7 comparisons of recursive objects
Note that comparisons of deeply nested objects can still dump core in
extreme cases.
2000-04-14 19:13:24 +00:00
Guido van Rossum 9e896b37c7 Marc-Andre's third try at this bulk patch seems to work (except that
his copy of test_contains.py seems to be broken -- the lines he
deleted were already absent).  Checkin messages:


New Unicode support for int(), float(), complex() and long().

- new APIs PyInt_FromUnicode() and PyLong_FromUnicode()
- added support for Unicode to PyFloat_FromString()
- new encoding API PyUnicode_EncodeDecimal() which converts
  Unicode to a decimal char* string (used in the above new
  APIs)
- shortcuts for calls like int(<int object>) and float(<float obj>)
- tests for all of the above

Unicode compares and contains checks:
- comparing Unicode and non-string types now works; TypeErrors
  are masked, all other errors such as ValueError during
  Unicode coercion are passed through (note that PyUnicode_Compare
  does not implement the masking -- PyObject_Compare does this)
- contains now works for non-string types too; TypeErrors are
  masked and 0 returned; all other errors are passed through

Better testing support for the standard codecs.

Misc minor enhancements, such as an alias dbcs for the mbcs codec.

Changes:
- PyLong_FromString() now applies the same error checks as
  does PyInt_FromString(): trailing garbage is reported
  as error and not longer silently ignored. The only characters
  which may be trailing the digits are 'L' and 'l' -- these
  are still silently ignored.
- string.ato?() now directly interface to int(), long() and
  float(). The error strings are now a little different, but
  the type still remains the same. These functions are now
  ready to get declared obsolete ;-)
- PyNumber_Int() now also does a check for embedded NULL chars
  in the input string; PyNumber_Long() already did this (and
  still does)

Followed by:

Looks like I've gone a step too far there... (and test_contains.py
seem to have a bug too).

I've changed back to reporting all errors in PyUnicode_Contains()
and added a few more test cases to test_contains.py (plus corrected
the join() NameError).
2000-04-05 20:11:21 +00:00
Guido van Rossum 52a0d7d802 Add tests for float() and complex() with string args (Nick/Stephanie
Lockwood).
1999-03-25 21:25:01 +00:00
Barry Warsaw ab11f60bb3 Added a new test for old filter() memory leak 1999-01-28 19:44:06 +00:00
Guido van Rossum 27d445f59e Nannified, and re-indented with 4 spaces. 1998-08-10 20:12:34 +00:00
Guido van Rossum 7011504e27 Improved test set for int() and long() string conversions. 1998-06-30 17:02:20 +00:00
Guido van Rossum 69256612d7 With the recent change that makes numbers compare smaller than anything,
the outcome of the test for max has changed.
1998-06-11 22:25:59 +00:00
Barry Warsaw d543077aa6 Added tests of the new builtin functions issubclass() and isinstance() 1997-08-22 21:27:03 +00:00
Guido van Rossum c1c96d1b5c Fix hex tests for 64-bit machines. 1997-05-14 21:37:23 +00:00
Guido van Rossum dddf7a6fb4 Added test of complex() (that catches a bug in 1.4!).
Added test that ensures that int() and long() truncate float numbers
towards zero.
1997-03-31 17:13:17 +00:00
Barry Warsaw 6f332d8f35 updated the hex(-16) test since hex() of a signed literal has changed. 1997-01-13 22:36:29 +00:00
Guido van Rossum 51b1c1c145 avoid math, don't abort when overflow check fails 1995-03-04 22:30:54 +00:00
Guido van Rossum 824de25fe2 * Lib/test/test_b1.py: test eval() and execfile() with globals,
locals arguments
1995-01-02 18:38:42 +00:00
Guido van Rossum eecf035aa2 Test new __import__ module, test reload of built-in module, test
has_key() on empty dictionary
1994-12-30 17:17:46 +00:00
Guido van Rossum e23b62f288 more complete tests of built-in functions 1994-11-10 22:25:26 +00:00
Guido van Rossum b6775db241 Merge alpha100 branch back to main trunk 1994-08-01 11:34:53 +00:00
Guido van Rossum ae3b3a33d8 * test_*.py: new lambda syntax (also affects tests for filter, map,
reduce)
* ftplib.py: added default callback for retrlines; added dir() method
* ftplib.py: don't return self in self.connect(); added hack so that if
  'CDUP' is not understood, 'CWD ..' is tried.
* ftplib.py: second method called init() should have been called
  connect(); if __init__ sees more than one argument, it will also try to
  login().
1993-11-30 13:43:54 +00:00
Guido van Rossum e65cce5eec * string.py: added rindex(), rfind(); changed index() to interpret
negative start indices starting from the right.
* ftplib.py: debug() -> set_debuglevel(); change demo to use __init__().
* os.py: added execl, execlp, and execvp.
* lambda.py: removed (now that we have built-in map, reduce, bagof, lambda)
* test_b{1,2}.py, testall.out: added tests for bagof, lambda, map, reduce
* commands.py: use os, not posix
* test_grammar.py: make it easy to disable non-portable int overflow tests
* dis.py: don't abuse range()
1993-11-08 15:05:21 +00:00
Guido van Rossum b3b09c97ce added builtin b/w compat module.
changed testing of exec.
1993-10-22 14:24:22 +00:00
Guido van Rossum 35fb82a33f * os.py: _exit doesn't exist in all variations of posix
* Added fcmp() to test_support.py and use it in test*.py
1993-01-26 13:04:43 +00:00
Guido van Rossum 85f1820ee1 Added some new tests and two new files for testing: test_types.py
(testing operations on built-in types) and autotest.py (automatic
regression testing).
1992-11-27 22:53:50 +00:00
Guido van Rossum 3bead0984c Initial revision 1992-01-27 17:00:37 +00:00