I think it's a bit clearer to show exactly what the syntax sugar of methods is, because that's all it is. Every function in Zig is in a struct (files are structs after all) and methods just simplify their use.
I also thought we might use the explicit saturating subtraction as that is why the feature is in Zig.
Add the zig-out directory, since the install step is available.
Remove the vim backup and swap files, since it is possible to configure
vim to use a custom directory.
Ensure all the directories are anchored to the root directory.
Closes#251
Currently, `zig fmt` exit status is ignored, making it useless.
Ensure that the script terminates early if there is an error.
Print a message to stdout before executing `zig fmt`, in order to make
the possible error more visible.
In test case 1 and 2, move the -Dhealed option before the -Dn option,
for consistency.
Fix a typo in cmd.setName in test case 1 and 2.
Remove a confusing comment in test case 1.
Currently, ZiglingStep prints the raw exercise output. This is not a
problem when executing `zig build` from the shell, but in a unit test it
is necessary to know when the exercise output ends.
Document that Exercise.output should not have trailing whitespace.
Ensure this is true by adding a check in the validate_exercises
function.
Remove trailing whitespace in exercises 68 and 99.
Simplify the output validation in ZiglingStep.makeInternal.
Checking that the length of the actual and expected output is the same
is not necessary, since trailing whitespace has been removed. Simply do
an exact comparison.
Print the trimmed exercise output, instead of the raw output.
This will ensure that the exercise output always ends with only one LF
character.
Fix some small coding style issues.
The current cleanup code is incorrect, since it may delete the healed
directory while one test case is running.
The solution is to make each test case isolate, with its own setup and
teardown. Unfortunately it is currently not possible, since each test
case modify the same directory.
Disable the cleanup step, until a better solution is found.