-
Notifications
You must be signed in to change notification settings - Fork 135
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
Putting a few things in order #658
Merged
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
@vrurg, good on you! That's much improved, and a good example for future tests. |
Time to unfudge.
Do everything on a in-memory object. After all, the file content is `slurp`ed into one anyway.
The main tests are fudged with `skip` with which it is easy to miss when dispatching gets fixed. The canary test is fudged with `todo` and will result in a notification when it's about time to unfudge everything.
The test is fudged as a `todo`
And add it to spectest.data. Two tests are fudged for JVM backend.
It's now passing on JVM too.
`EVAL` throws when compilation fails. A `try` is required to contain the exception and pass control over to the subsequent `skip` statement. TODOing the tests would be much more preferable but I don't see a quick solution to implement it.
Added two canary tests for `&method` and `::=`.
Fudged with `eval` and added a canary test.
Passing on both moar and jvm backends
The test was erroneously considering `EVAL` to be the same scope as surrounding block. Whereas in fact it's a scope on its own.
Wonder if the TODO'ed test has to be the way it is expected to be. The current state of things seems rather logical to me.
The test seems to be extremely outdated with traces of early Perl6 design patters. Besides, the test now passes as whole.
Requires Raku/nqp#650 and rakudo/rakudo#3834 to pass. I have removed trait `described` because the final implementation of traits doesn't need covering two different trait routine signatures. Renamed the role from `description` to `Description` because trait `is` can't tell the difference between the trait and the role to pun because of the same name used for both. Because a trait is applied to a parametric role, not the role group, test against the first group candidate.
- change trait signatures to match v6.c requirements - rename role `doc` into `Doc` for `is` to be able to distinguish between the two - because the role is applied to the container, invoke the `doc` method on `.VAR`
Export semantics requires a `Map` to be returned by `sub EXPORT` in order to preserve containers of the exported symbols.
It's a flapper for `make spectest`. Besides, it only tests on macOS and perhaps should be rewritten.
If somesing is eval-fudged because of a non-implemented or a broken feature then how do we know when the problem is fixed? I mean a scenario when the fix done as a result of a ticket being fixed or a similar case. Now fudge prepends the eval'ed code with a `todo` and instead of `skip` produces as many `flunk` as many tests were wrapped. So, harness will inform us about passing TODOs when this happens.
Version pragma must be the first statement.
Passing on both moar and jvm.
- EVAL only the generated pod - Group tests into subtests
Both tests are likely to utilize new syntax when `RakuAST` is released.
- there is no phaser `START` - because of returning a `Scalar` at compile time and actual interpolation taking place at runtime both test for `BEGIN` and `CHECK` were ending up testing the same string. De-containerizing the return value resolves the problem
Have certain doubts about the method implementation. Therefore fudged in a way to get a "TODO passed" notification for the `leave` keyword when it eventually works.
All tests are passing
All tests passing
Reflect the changed behavior of eval
vrurg
changed the title
[WIP] Putting a few things in order
Putting a few things in order
Aug 1, 2020
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.
In elaboration of #657
Aside from evaluating and fixing the tests, this PR introduces a slight change to
fudge
by extending theeval
verb functionality to suppressEVAL
-thrown exceptions and produce as manyflunk
as necessary ifEVAL
fails. All this done undertodo
to make harness report TODO passed if the evaled tests are passing.