Skip to content
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

re-enable stage2 tests #1364

Closed
5 of 6 tasks
andrewrk opened this issue Aug 10, 2018 · 2 comments
Closed
5 of 6 tasks

re-enable stage2 tests #1364

andrewrk opened this issue Aug 10, 2018 · 2 comments
Labels
bug Observed behavior contradicts documented or intended behavior frontend Tokenization, parsing, AstGen, Sema, and Liveness.
Milestone

Comments

@andrewrk
Copy link
Member

andrewrk commented Aug 10, 2018

I apologize, I have merged async-fs branch even though there are some race conditions in the stage2 tests. Here's the situation:

  • coroutine semantics are unsound. proposal to fix them #1363 is my number one priority. I need to resolve this before I solve the race conditions in the stage2 tests.
  • syntax for guaranteed coroutine frame allocation elision #1260 is also very important. I've typed catch unreachable far too many times, and I understand coroutines enough now that I need to iterate on the design.
  • Next, in order to solve the problems, I want stack traces on Windows. So I'll do that. add COFF (Windows) support to std/debug (stack traces) #721
  • Then I'll add some debug runtime safety features where incorrectly resuming a coroutine, or canceling it twice, etc, will print the source location of where the coroutine was first resumed, or first cancelled, or at least just print which coroutine it is. This requires stack traces, hence the previous bullet point.
  • With these tools, it should be straightforward to solve the issues. My goal is to not do anything clever to solve these bugs. Rely exclusively on the tools/safety features zig provides in order to resolve the problems. If that is not possible, improve zig's safety features and tools.
  • A semi-related problem is that CI tests are close to the limit. Sometimes AppVeyor tests fail due to taking longer than 1 hour. 1 hour is a reasonable amount of time for all tests to complete. So I will do something to make CI tests pass more consistently. Perhaps do some caching in stage1. caching strategy for stage1 #1416
@andrewrk andrewrk added the bug Observed behavior contradicts documented or intended behavior label Aug 10, 2018
@andrewrk andrewrk added this to the 0.3.0 milestone Aug 10, 2018
andrewrk added a commit that referenced this issue Sep 11, 2018
@andrewrk
Copy link
Member Author

I disabled stage2 tests on all targets. This issue is now postponed until after 0.3.0.

@andrewrk andrewrk modified the milestones: 0.3.0, 0.4.0 Sep 11, 2018
@andrewrk andrewrk changed the title race conditions in master branch / CI tests failing sometimes re-enable stage2 tests Sep 11, 2018
@andrewrk andrewrk modified the milestones: 0.4.0, 0.5.0 Feb 15, 2019
hryx added a commit to hryx/zig that referenced this issue May 12, 2019
- Remove TODO about stage1 CompareExpr and make a follow-up task
- Support enum literals, update grammar, and add test
- Remove TODO comments about enum literals
- Remove TODO question about ErrorSetDecl not hard-failing
- Error if label found but no block
- Disallow duplicate pointer qualifiers (const, allowzero, etc.)
  and add a stage2 compile error test (disabled; see ziglang#1364)
@andrewrk andrewrk modified the milestones: 0.5.0, 0.6.0 Aug 27, 2019
@andrewrk andrewrk added the frontend Tokenization, parsing, AstGen, Sema, and Liveness. label Dec 31, 2019
@andrewrk andrewrk modified the milestones: 0.6.0, 0.7.0 Mar 20, 2020
@andrewrk
Copy link
Member Author

With the self-hosted reboot, this issue is no longer relevant. There's a new test harness and new test cases.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Observed behavior contradicts documented or intended behavior frontend Tokenization, parsing, AstGen, Sema, and Liveness.
Projects
None yet
Development

No branches or pull requests

1 participant