Skip to content

Commit

Permalink
Run concept exercise tests in predictable order (exercism#737)
Browse files Browse the repository at this point in the history
  • Loading branch information
angelikatyborska authored May 19, 2021
1 parent 549068e commit e776320
Show file tree
Hide file tree
Showing 37 changed files with 48 additions and 41 deletions.
17 changes: 12 additions & 5 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,20 @@ Please keep the following in mind:

- For practice exercises, use typespecs in the example and template files as described [here](http://elixir-lang.org/getting-started/typespecs-and-behaviours.html).

- Each test file should have a `test_helper.exs` with code like the following
at the top of the file. This allows the tests to be run on CI and configures
tests to be skipped with the `:pending` flag.
- Each practice exercise test file should have a `test_helper.exs` with code like the following at the top of the file.
This allows the tests to be run on CI and configures tests to be skipped with the `:pending` flag.

```elixir
ExUnit.start
ExUnit.configure exclude: :pending, trace: true
ExUnit.start()
ExUnit.configure(exclude: :pending, trace: true)
```

- Each concept exercise test file should have a `test_helper.exs` with code like the following at the top of the file.
This allows the tests to always run in the order in which they're defined in the test file, to encourage solving the exercises task by task.
```elixir
ExUnit.start()
ExUnit.configure(exclude: :pending, trace: true, seed: 0)
```
- All but the initial test for each practice exercise should be tagged `:pending`.
Expand Down
2 changes: 1 addition & 1 deletion exercises/concept/basketball-website/test/test_helper.exs
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
ExUnit.start()
ExUnit.configure(exclude: :pending, trace: true)
ExUnit.configure(exclude: :pending, trace: true, seed: 0)
2 changes: 1 addition & 1 deletion exercises/concept/bird-count/test/test_helper.exs
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
ExUnit.start()
ExUnit.configure(exclude: :pending, trace: true)
ExUnit.configure(exclude: :pending, trace: true, seed: 0)
2 changes: 1 addition & 1 deletion exercises/concept/boutique-inventory/test/test_helper.exs
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
ExUnit.start()
ExUnit.configure(exclude: :pending, trace: true)
ExUnit.configure(exclude: :pending, trace: true, seed: 0)
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
ExUnit.start()
ExUnit.configure(exclude: :pending, trace: true)
ExUnit.configure(exclude: :pending, trace: true, seed: 0)
2 changes: 1 addition & 1 deletion exercises/concept/bread-and-potions/test/test_helper.exs
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
ExUnit.start()
ExUnit.configure(exclude: :pending, trace: true)
ExUnit.configure(exclude: :pending, trace: true, seed: 0)
2 changes: 1 addition & 1 deletion exercises/concept/captains-log/test/test_helper.exs
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
ExUnit.start()
ExUnit.configure(exclude: :pending, trace: true)
ExUnit.configure(exclude: :pending, trace: true, seed: 0)
2 changes: 1 addition & 1 deletion exercises/concept/chessboard/test/test_helper.exs
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
ExUnit.start()
ExUnit.configure(exclude: :pending, trace: true)
ExUnit.configure(exclude: :pending, trace: true, seed: 0)
2 changes: 1 addition & 1 deletion exercises/concept/city-office/test/test_helper.exs
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
ExUnit.start()
ExUnit.configure(exclude: :pending, trace: true)
ExUnit.configure(exclude: :pending, trace: true, seed: 0)
2 changes: 1 addition & 1 deletion exercises/concept/community-garden/test/test_helper.exs
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
ExUnit.start()
ExUnit.configure(exclude: :pending, trace: true)
ExUnit.configure(exclude: :pending, trace: true, seed: 0)
2 changes: 1 addition & 1 deletion exercises/concept/date-parser/test/test_helper.exs
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
ExUnit.start()
ExUnit.configure(exclude: :pending, trace: true)
ExUnit.configure(exclude: :pending, trace: true, seed: 0)
2 changes: 1 addition & 1 deletion exercises/concept/dna-encoding/test/test_helper.exs
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
ExUnit.start()
ExUnit.configure(exclude: :pending, trace: true)
ExUnit.configure(exclude: :pending, trace: true, seed: 0)
2 changes: 1 addition & 1 deletion exercises/concept/file-sniffer/test/test_helper.exs
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
ExUnit.start()
ExUnit.configure(exclude: :pending, trace: true)
ExUnit.configure(exclude: :pending, trace: true, seed: 0)
2 changes: 1 addition & 1 deletion exercises/concept/freelancer-rates/test/test_helper.exs
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
ExUnit.start()
ExUnit.configure(exclude: :pending, trace: true)
ExUnit.configure(exclude: :pending, trace: true, seed: 0)
2 changes: 1 addition & 1 deletion exercises/concept/german-sysadmin/test/test_helper.exs
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
ExUnit.start()
ExUnit.configure(exclude: :pending, trace: true)
ExUnit.configure(exclude: :pending, trace: true, seed: 0)
2 changes: 1 addition & 1 deletion exercises/concept/guessing-game/test/test_helper.exs
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
ExUnit.start()
ExUnit.configure(exclude: :pending, trace: true)
ExUnit.configure(exclude: :pending, trace: true, seed: 0)
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
ExUnit.start()
ExUnit.configure(exclude: :pending, trace: true)
ExUnit.configure(exclude: :pending, trace: true, seed: 0)
2 changes: 1 addition & 1 deletion exercises/concept/high-score/test/test_helper.exs
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
ExUnit.start()
ExUnit.configure(exclude: :pending, trace: true)
ExUnit.configure(exclude: :pending, trace: true, seed: 0)
2 changes: 1 addition & 1 deletion exercises/concept/kitchen-calculator/test/test_helper.exs
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
ExUnit.start()
ExUnit.configure(exclude: :pending, trace: true)
ExUnit.configure(exclude: :pending, trace: true, seed: 0)
2 changes: 1 addition & 1 deletion exercises/concept/language-list/test/test_helper.exs
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
ExUnit.start()
ExUnit.configure(exclude: :pending, trace: true)
ExUnit.configure(exclude: :pending, trace: true, seed: 0)
2 changes: 1 addition & 1 deletion exercises/concept/lasagna/test/test_helper.exs
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
ExUnit.start()
ExUnit.configure(exclude: :pending, trace: true)
ExUnit.configure(exclude: :pending, trace: true, seed: 0)
2 changes: 1 addition & 1 deletion exercises/concept/library-fees/test/test_helper.exs
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
ExUnit.start()
ExUnit.configure(exclude: :pending, trace: true)
ExUnit.configure(exclude: :pending, trace: true, seed: 0)
2 changes: 1 addition & 1 deletion exercises/concept/log-level/test/test_helper.exs
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
ExUnit.start()
ExUnit.configure(exclude: :pending, trace: true)
ExUnit.configure(exclude: :pending, trace: true, seed: 0)
2 changes: 1 addition & 1 deletion exercises/concept/lucas-numbers/test/test_helper.exs
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
ExUnit.start()
ExUnit.configure(exclude: :pending, trace: true)
ExUnit.configure(exclude: :pending, trace: true, seed: 0)
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
ExUnit.start()
ExUnit.configure(exclude: :pending, trace: true)
ExUnit.configure(exclude: :pending, trace: true, seed: 0)
2 changes: 1 addition & 1 deletion exercises/concept/name-badge/test/test_helper.exs
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
ExUnit.start()
ExUnit.configure(exclude: :pending, trace: true)
ExUnit.configure(exclude: :pending, trace: true, seed: 0)
2 changes: 1 addition & 1 deletion exercises/concept/newsletter/test/test_helper.exs
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
ExUnit.start()
ExUnit.configure(exclude: :pending, trace: true)
ExUnit.configure(exclude: :pending, trace: true, seed: 0)
2 changes: 1 addition & 1 deletion exercises/concept/pacman-rules/test/test_helper.exs
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
ExUnit.start()
ExUnit.configure(exclude: :pending, trace: true)
ExUnit.configure(exclude: :pending, trace: true, seed: 0)
2 changes: 1 addition & 1 deletion exercises/concept/remote-control-car/test/test_helper.exs
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
ExUnit.start()
ExUnit.configure(exclude: :pending, trace: true)
ExUnit.configure(exclude: :pending, trace: true, seed: 0)
2 changes: 1 addition & 1 deletion exercises/concept/rpg-character-sheet/test/test_helper.exs
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
ExUnit.start()
ExUnit.configure(exclude: :pending, trace: true)
ExUnit.configure(exclude: :pending, trace: true, seed: 0)
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
ExUnit.start()
ExUnit.configure(exclude: :pending, trace: true)
ExUnit.configure(exclude: :pending, trace: true, seed: 0)
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
ExUnit.start()
ExUnit.configure(exclude: :pending, trace: true)
ExUnit.configure(exclude: :pending, trace: true, seed: 0)
2 changes: 1 addition & 1 deletion exercises/concept/rpn-calculator/test/test_helper.exs
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
ExUnit.start()
ExUnit.configure(exclude: :pending, trace: true)
ExUnit.configure(exclude: :pending, trace: true, seed: 0)
2 changes: 1 addition & 1 deletion exercises/concept/secrets/test/test_helper.exs
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
ExUnit.start()
ExUnit.configure(exclude: :pending, trace: true)
ExUnit.configure(exclude: :pending, trace: true, seed: 0)
2 changes: 1 addition & 1 deletion exercises/concept/stack-underflow/test/test_helper.exs
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ options = [
]

ExUnit.start(options)
ExUnit.configure(exclude: :pending, trace: true)
ExUnit.configure(exclude: :pending, trace: true, seed: 0)
2 changes: 1 addition & 1 deletion exercises/concept/take-a-number/test/test_helper.exs
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
ExUnit.start()
ExUnit.configure(exclude: :pending, trace: true)
ExUnit.configure(exclude: :pending, trace: true, seed: 0)
2 changes: 1 addition & 1 deletion exercises/concept/wine-cellar/test/test_helper.exs
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
ExUnit.start()
ExUnit.configure(exclude: :pending, trace: true)
ExUnit.configure(exclude: :pending, trace: true, seed: 0)

0 comments on commit e776320

Please sign in to comment.