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

Build Test Runner #132

Open
Tracked by #136
ErikSchierboom opened this issue Jan 29, 2021 · 5 comments
Open
Tracked by #136

Build Test Runner #132

ErikSchierboom opened this issue Jan 29, 2021 · 5 comments
Assignees
Labels
x:action/create Work on something from scratch x:knowledge/advanced Comprehensive Exercism knowledge required x:module/test-runner Work on Test Runners x:size/massive Massive amount of work x:type/coding Write code that is not student-facing content (e.g. test-runners, generators, but not exercises)

Comments

@ErikSchierboom
Copy link
Member

This issue is part of the migration to v3. You can read full details about the various changes here.

In Exercism v3, one of the biggest changes is that we'll automatically check if a submitted solution passes all the tests.

We'll check this via a new, track-specific tool: the Test Runner. Each test runner is track-specific. When a new solution is submitted, we run the track's test runner, which outputs a JSON file that describes the test results.

The test runner must be able to run the tests suites of both Concept Exercises and Practice Exercises. Depending on the test runner implementation, this could mean having to update the Practice Exercises to the format expected by the test runner.

Goal

Build a test runner for your track according to the spec.

If you are building a test runner from scratch, we have a starting guide and a generic test runner that can be used as the base for the new test runner.

If a test runner has already been built for this track, please check if it works on both Concept Exercises and Practice Exercises.

It can be very useful to check how other tracks have implemented their test runner.

Tracking

exercism/v3-launch#4

@davidbruce
Copy link
Contributor

davidbruce commented Jan 29, 2021

@mfoda Are you willing to work on this?

I've opened an issue for getting the repo created here, but you can get started by forking https://github.com/exercism/generic-test-runner.

@mfoda
Copy link
Contributor

mfoda commented Jan 29, 2021

@davidbruce Definitely! I'll get started on that.

Also might be a good idea to discuss over at the exercism slack workspace to plan the rest of v3 tasks and see who else might be interested in helping out. Currently there's a #track-haxe channel there but we should create a #maintaining-haxe one as well (you can ping Erik for an invite).

@mfoda
Copy link
Contributor

mfoda commented Feb 3, 2021

Just pushed a fairly minimal implementation to get that started. It is however missing the extraction of command/test_code from the source code. I'm not sure what's the better approach to tackle this and I suspect it might overlap/benefit from work done on the analyzer/representer for code parsing.

@mfoda mfoda self-assigned this Feb 3, 2021
@mfoda
Copy link
Contributor

mfoda commented Feb 11, 2021

@davidbruce At this point the test runner passes all the generic tests. A few things I could use some help with:

  • The Docker/CI scripts and setup as I'm not very familiar with that part
  • Which target to pick for fast compilation and returning test results to the user. I was told either the Lua or Hashlink targets but those would probably complicate the Docker image setup a bit
  • Any general ideas/suggestions for improving either the test suite or the runner

@ErikSchierboom ErikSchierboom changed the title [v3] Build Test Runner Build Test Runner Aug 17, 2021
@ErikSchierboom ErikSchierboom added x:action/create Work on something from scratch x:knowledge/advanced Comprehensive Exercism knowledge required x:module/test-runner Work on Test Runners x:size/massive Massive amount of work x:type/coding Write code that is not student-facing content (e.g. test-runners, generators, but not exercises) labels Aug 17, 2021
@BNAndras
Copy link
Sponsor Member

The test runner is built so I think once we remedy exercism/haxe-test-runner#19, this can be closed.

@BNAndras BNAndras self-assigned this Sep 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
x:action/create Work on something from scratch x:knowledge/advanced Comprehensive Exercism knowledge required x:module/test-runner Work on Test Runners x:size/massive Massive amount of work x:type/coding Write code that is not student-facing content (e.g. test-runners, generators, but not exercises)
Projects
None yet
Development

No branches or pull requests

4 participants