-
-
Notifications
You must be signed in to change notification settings - Fork 18.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TST: mutation testing results (possible tests to add) #58517
Comments
I can add/improve tests for core/arrays/sparse/array.py:1768
since it looks like that case is still passing when it shouldn't. And if that goes well then I can look into some of the other ones :) |
I can take this next (confirmed tests are still passing incorrectly on main)
|
I'll open a PR for core/arrays/interval.py:866
|
hi @jsngn I'm glad to see that these results have been useful. I edited my original/first comment in this PR to add several sections, to organize the mutants, according to which ones have already corresponding PRs, similar to what we did in data.table, Rdatatable/data.table#6114 I also added a section "already investigated, but not likely to result in Prs (please write why not)" so please feel free to edit my comment yourself, and move items that you have investigated down into that section, and write why they are unlikely to result in Prs. This is similar to the "To ignore (probably not significant)" section which involves permutation of arguments. |
Hey @tdhock, thank you for making the categories, I will continue working on this and open PRs as necessary. Although, I'm not able to edit your comment, so maybe I can just specify any item to ignore I encounter in a comment and tag you? |
hmm, it would probably be better to move the list to a place where anybody could edit... but I don't see a wiki here either... |
Hi, @agroce and I did mutation testing of pandas, and here are some significant changes/mutants in pandas source code lines that were apparently covered by tests, but when we ran the tests with the mutation, the tests passed, so pandas may want to add tests that would fail for these changes/mutants.
This was run on v2.2.1 so the line numbers/links refer to that version of the code (first line original, second line mutated).
I will be going through these mutants, trying to identify significant ones, and then hopefully filing PRs to add relevant tests.
If anyone else has time to spare, please help by looking at the above mutations, and creating corresponding test cases, to help improve the pandas test suite.
already filed prs
core/arrays/interval.py:866
core/arrays/sparse/array.py:1768
core/arrays/boolean.py:379
to investigate
core/algorithms.py:1592
core/apply.py:962
core/array_algos/take.py:254
core/arrays/arrow/array.py:1501
core/arrays/arrow/array.py:2120
core/arrays/arrow/array.py:2167
core/arrays/boolean.py:209
core/arrays/categorical.py:2079
core/arrays/categorical.py:2743
core/arrays/datetimes.py:283
core/arrays/datetimes.py:2271
core/arrays/datetimes.py:2346
core/arrays/timedeltas.py:376
core/frame.py:6451
core/generic.py:6628
core/generic.py:8664
core/generic.py:11199
core/generic.py:11689
core/generic.py:12637
core/groupby/groupby.py:5658
core/groupby/ops.py:785
core/indexes/base.py:5640
core/indexes/base.py:7180
core/indexes/multi.py:2141
core/indexes/multi.py:3704
core/indexes/range.py:753
core/indexes/range.py:771
core/indexing.py:2018
core/internals/base.py:359
core/internals/blocks.py:2454
core/internals/managers.py:217
core/internals/managers.py:1542
core/internals/managers.py:2074
core/methods/describe.py:161
core/resample.py:285
core/reshape/merge.py:1661
core/reshape/merge.py:2100
core/reshape/merge.py:2156
core/reshape/merge.py:2671
core/reshape/reshape.py:489
core/reshape/reshape.py:678
core/reshape/tile.py:387
core/window/ewm.py:387
To ignore (probably not significant)
these mutants involve non-significant permutation of arguments.
core/window/ewm.py:858 ignore since this function is symmetric.
core/apply.py:1441
core/arrays/arrow/array.py:136
core/arrays/arrow/extension_types.py:108
Code below was used to produce the output above:
already investigated, but not likely to result in Prs (please write why not)
TODO
The text was updated successfully, but these errors were encountered: