summaryrefslogtreecommitdiff
path: root/numpy/lib/tests
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #19226 from ↵Matti Picus2022-05-191-1/+0
|\ | | | | | | | | seberg/fix-void-cast-safety-promotion-and-comparison API: Fix structured dtype cast-safety, promotion, and comparison
| * API: Fix structured dtype cast-safety, promotion, and comparisonSebastian Berg2022-05-091-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This PR replaces the old gh-15509 implementing proper type promotion for structured voids. It further fixes the casting safety to consider casts with equivalent field number and matching order as "safe" and if the names, titles, and offsets match as "equiv". The change perculates into the void comparison, and since it fixes the order, it removes the current FutureWarning there as well. This addresses https://github.com/liberfa/pyerfa/issues/77 and replaces gh-15509 (the implementation has changed too much). Fixes gh-15494 (and probably a few more) Co-authored-by: Allan Haldane <allan.haldane@gmail.com>
* | BUG: lib: Allow type uint64 for eye() arguments.warren2022-05-111-1/+7
| | | | | | | | | | | | Closes gh-9982. (Plus a few small PEP 8 fixes.)
* | ENH: Add 'keepdims' to 'average()' and 'ma.average()'.warren2022-05-091-1/+27
|/
* ENH: Optimize `np.empty` for scalar arguments (#20175)Francesco Andreuzzi2022-05-061-1/+3
| | | | | | | | Optimizes the parsing of shape tuples and integers by avoiding multiple conversions and generally refactoring the code. Closes gh-19010, that parsing a single integer was very slow (due to trying to convert it to a squence twice). Co-authored-by: Sebastian Berg <sebastian@sipsolutions.net>
* TST: Make `test_large_archive` robust against memory issues [wheel build]Sebastian Berg2022-05-021-2/+7
|
* TEST: on PyPy, skip hanging slow test [wheel build]mattip2022-05-021-0/+1
|
* TST: `np.kron` tests refinementGanesh Kathiresan2022-04-051-7/+17
| | | | | | | * Added `mat` cases to smoke tests * Changed type checks to handle new change which uses ufuncs order for result determination * Added cases for `ma` to check subclass info retention
* MAINT: Linting fixesGanesh Kathiresan2022-03-251-1/+2
|
* TST: Added testcases for `np.kron`Ganesh Kathiresan2022-03-221-0/+26
| | | | | | * Smoke tests to ensure `np.kron` works. * Shape tests to check if `np.kron` computes the right shape for different edge cases of input arrays
* Merge pull request #16895 from DevinShanahan/delete-speedupMatti Picus2022-02-271-0/+13
|\ | | | | MAINT: extend delete single value optimization
| * MAINT: single value identification and testDevin Shanahan2022-01-161-0/+13
| |
* | BUG: (loadtxt) Ignore last empty field when `delimiter=None`Sebastian Berg2022-02-141-1/+5
| | | | | | | | | | | | | | | | When the delimiter is None and we are splitting on whitespace, a final empty field is always ignored to match the behaviour of pythons split: `" 1 ".split()`. Closes gh-21052
* | TST: Skip error test using on PyPy (test uses %.100R)Sebastian Berg2022-01-301-0/+2
| |
* | TST: Fix exception msg matching in tests.Ross Barnowski2022-01-281-5/+5
| |
* | Linting.Ross Barnowski2022-01-281-3/+4
| |
* | Handle delimiter as bytes.Ross Barnowski2022-01-281-0/+6
| |
* | Add test for str dtype len discovery with converters.Ross Barnowski2022-01-281-1/+23
| | | | | | | | nrows gt chunksize.
* | Add test for empty string as control characters.Ross Barnowski2022-01-281-0/+11
| | | | | | | | Includes comments param, which is handled on the Python side.
* | Add test for unicode, parametrize for chunksize.Ross Barnowski2022-01-281-5/+15
| |
* | Add test for datetime parametric unit discovery.Ross Barnowski2022-01-281-1/+23
| |
* | TST: Some tests for control character collisions.Ross Barnowski2022-01-281-0/+50
| | | | | | Adds some tests for the behavior of control characters, e.g. comments, delimiter and quotechar, when they have the same value. At this stage, these tests are more to frame the discussion about what the behavior should be, not to test what it currently is. I personally think raising an exception is correct for most of these situations, though it's worth noting that np.loadtxt currently doesn't for most of these corner cases (and seems to randomly assign precedence to delimiter over comments or vice versa depending on the values).
* | TST: Use repr in byteswapping testsSebastian Berg2022-01-191-3/+5
| | | | | | | | | | | | The `str` values for those weird values used for longdouble are truncated by PyPy's complex `str` output. Which seems fine probably since PyPy's `repr` does the right thing and will not truncate.
* | TST: Catch two more errors that runs into the PyPy issueSebastian Berg2022-01-191-0/+4
| |
* | TST: Use hand-picked values for byte-swapping testsSebastian Berg2022-01-191-15/+17
| | | | | | | | | | | | | | | | Longdouble is a source of problems here especially (mainly due to it sometimes using double in the background, or maybe just buggy implementations). Together with strings that correctly parsed do not roundtrip (if printed using less precision), things just do not work out... This fixes it, and is simpler/clearer anyway.
* | TST: Skip unparsable field error tests on PyPySebastian Berg2022-01-192-1/+21
| | | | | | | | | | | | PyPy has a small bug with error formatting, so these cause it to crash. Simply skip the tests on old PyPy versions for now. (Matti fixed the issue long ago, just waiting for a new PyPy release :))
* | TST,BUG: Fortify byteswapping tests and make a small fixSebastian Berg2022-01-151-3/+16
| | | | | | | | | | | | | | I had a lingering feeling I should double check this, turns out that feeling was right ;). (Fixes up the tokenizer doc a bit.)
* | TST,STY: Add small additional tests for converters/usecolsSebastian Berg2022-01-142-20/+27
| | | | | | | | | | Also fix style a bit to silence linter (hopefully), removes some black style, but I am not too opinionated about that :)
* | TST: Move most new loadtxt tests to its own fileSebastian Berg2022-01-142-767/+836
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This also adds two basic new tests around files/strings containing the \0 character (prooving that we handle that gracefully). Also adds tests for: * the `_` thousands delimiter (should fail, but doesn't for float128 right now) * Failure modes when the number of rows changes (negative specifically) Many of these tests came originally from Warren Weckesser and others were added by Ross Barnowsky: Co-authored-by: Warren Weckesser <warren.weckesser@gmail.com> Co-authored-by: Ross Barnowski <rossbar@berkeley.edu>
* | TST: Add test for hard/impossible to reach universal-newline support pathsSebastian Berg2022-01-141-0/+15
| |
* | TST: Improve test coverage, replace impossible error with assertSebastian Berg2022-01-141-0/+49
| |
* | TST,MAINT: New tests, byteswap cleanups and fixed assertSebastian Berg2022-01-141-6/+25
| |
* | TST,BUG: Additional bad-file-like test, add missing error path freeSebastian Berg2022-01-141-0/+14
| | | | | | | | And remove one silly leftover struct member that was unused
* | MAINT,TST,BUG: Simplify streamer init, fix issues, and add testsSebastian Berg2022-01-141-0/+45
| |
* | ENH: Give warning for empty-lines not counting towards max-rowsSebastian Berg2022-01-141-0/+24
| | | | | | | | | | | | This also slightly cleans up the empty-line handling: previously we sometimes just had some extra empty-lines that just effectively never mattered
* | MAINT: Move usecol handling to C and support more than integer colsSebastian Berg2022-01-141-2/+13
| | | | | | | | | | | | | | | | Of course to actually use that many columns you need A LOT of memory right now. Each field stores at least a UCS4 NUL character, but the field is padded enough to require 16 bytes. We always parse a full row, so that requires 20 bytes per field... (i.e. 32 GiB RAM is not enough to test this :)).
* | TST: Add test to cover copyswap (byte-swap and unaligned)Sebastian Berg2022-01-141-0/+13
| |
* | BUG,TST: Add test for huge-float buffer path and ensure error returnSebastian Berg2022-01-141-0/+9
| | | | | | | | If a memory error happens, we should at least not crash the interpreter
* | BUG: Fix complex parser and add tests for whitespace and failure pathsSebastian Berg2022-01-141-0/+27
| |
* | Add warning on empty file + tests.Ross Barnowski2022-01-141-4/+2
| |
* | Add UserWarning when reading no data.Ross Barnowski2022-01-141-0/+23
| |
* | rm incorrect comment.Ross Barnowski2022-01-141-1/+0
| |
* | Add tests for empty quotes and escaped quotechars.Ross Barnowski2022-01-141-0/+14
| |
* | TST: structured dtype w/ quotes.Ross Barnowski2022-01-141-0/+29
| |
* | Add tests for quote+multichar comments.Ross Barnowski2022-01-141-0/+23
| | | | | | | | Also correct exception message.
* | Add test to check quoting support disabled by default.Ross Barnowski2022-01-141-0/+16
| |
* | TST: Add tests for quote character support.Ross Barnowski2022-01-141-0/+15
| |
* | TST: Fix test to align with stricter integer parsingSebastian Berg2022-01-141-24/+4
| |
* | TST: Small fixups for tests to make sure they pass againSebastian Berg2022-01-141-3/+3
| |
* | Port over tests from npreadtext test suiteRoss Barnowski2022-01-141-0/+484
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Add test for parsing scientific notation. - Add multiple-char comment test. - Port over tests for structured dtypes. - Add tests for exceptions on skiprows/max_rows. - port over ndmin tests. - Make structured data reusable, add unpack tests. - Port over delimiter tests. - Port over maxrows test w/ various dtypes. - Port over test of exception msg on parse failure. - Port over test for converters w/neg indices. - Port over usecols tests - Port over unicode tests. - Port over more converter tests. - Port over test for large rows. - Port over test for string-len discovery. - Port over float conversion accuracy test. - Port over bool test. - Add test for implicit float->int conversion. - Port over complex parsing tests. - Port over tests for reading from generator. - Port over object cleanup test. - Port over bytes incompat test. - Port over converters tests. Co-authored-by: Warren Weckesser <warren.weckesser@gmail.com> Co-authored-by: Sebastian Berg <sebastian@sipsolutions.net>