-
Notifications
You must be signed in to change notification settings - Fork 291
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
Add some recursion-checking tests #1367
Open
kmod
wants to merge
4,868
commits into
pyston:master
Choose a base branch
from
kmod:cpython_tests
base: master
Could not load branches
Branch not found: {{ refName }}
Could not load tags
Nothing to show
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
only lookup __[set/get/del]slice__ for slice AST nodes
Or rather, have execfile() be more permissive in what it accepts. It may still abort when we get to pickGlobalsAndLocals() and we discover that we can't actually execute in that particular attrwrapper.
It keeps timing out
Support attrwrapper as globals argument to execfile
…ue1197 Add missing tp_as_mapping
VRegSet: use a llvm bitvector as representation
The repro is: - import a.b, and in a.b do - import a.b as ab This will cause an attribute error, since a.b (the name) is successfully importable, but a.b (the attribute) doesn't exist yet.
I had spelled the test name wrong
Some scipy fixes
(it uses old-style iteration) And crazily, there is code that relies on this. I wouldn't usually want to give in to code relying on such an esoteric feature, but this seems to be a speedup as well (though that deserves looking into, itself).
- special-case classes that we know have a fixed length (ex str) - do patchpoints for getIterHelper
Cython try to store argcount, nlocals, and varnames through PyCode_New. But Pyston don't do anything with those or support getting them back out.
In PyDict_Next, the 3rd argument `pkey` and 4th argument pvalue could be NULL. lxml will try to call it by PyDict_Next(kwdict, &pos, &key, 0). And a check like CPython did.
Because scipy rely on NumPy, so add scipy test to numpy_test.py. And rename it to scipy_test.py. numpy_full_test.py will check numpy test suite. The scipy_test.py only for check scipy test suite. But scipy test will take a long time. So disabled it by default.
This is hacky, but delve into scipy souce code to fix the numerous implicit function declaration is not make sense for now.
Some SciPy fixing.
at somepoint we really should split all this common code into a function...
keep track of which variables are known to be a python bool so that we can remove some of the nonzero() calls
… r15, rbx, rbp in PPs and the bjit Keeping the available registers in a bitset makes it more memory efficient and also easier and more performant to calculate a subset of the registers. I will soon implement the 'otherThan' functionality using it which would fix the current problem of only allowing to exclude one register
…r block when possible
use r12, r15 and rbx in bjit and inside bjit ICs, remove some nonzero checks
[WIP]Let GCC 5 happy and update the CPython test notes
We symlink the CPython tests into our tests directory to control which ones we will attempt to run. A bunch of the tests though need other test files in order to run, and we hadn't symlinked those in. At some point we should switch to symlinking the Lib/test directory instead of individual files, but for now this helps.
Main difference is lowering the recursion-depth on unoptimized builds, since we need more stack space per python frame.
to not conflict with CPython's -O. They're quite similar (increase optimization level), but some tests ask for -O when they don't really want our version of it.
For some reason the max-RSS limit doesn't seem to be kicking in. Switch to putting a limit on the virtual size instead, and bump the limit from 500MB to 1.5GB.
…test and the implementation we copied
needed because of how we symlink things
ie did some quick debugging and added test notes
Two of these tests pass in release mode but not in debug (one is a timeout, the other is an assertion) Two of them are failing in both and I don't know why I marked them as succeeding.
and only run the small variant in debug mode to avoid timeouts. Previously I had tried splitting it in half, but it looks like that's both not enough to avoid timeouts, and it also has a race condition when trying to run two copies of the test at the same time (one will read the not-fully-written pickled output of the other).
Take a pass over the CPython tests
This reverts commit bc10d36.
Lots of things that normally can never throw an error, can throw an error if the recursion depth is max_depth-1.
kmod
force-pushed
the
master
branch
2 times, most recently
from
October 28, 2020 21:01
352fd89
to
6488a3e
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.