779 Commits (02dfa1e970a478b3dfb21f2a4d0b312da7e8bae3)
 

Author SHA1 Message Date
Kim SHrier 2b2c396237 Add missing word "a" 1 year ago
Kim SHrier b10e478398 Improve wording in some comments 1 year ago
Kim SHrier b072c0014c Fix reference to slice_ptr in example code 1 year ago
Kim SHrier 7af542bffb Remove repeated word "with" 1 year ago
Kim SHrier cc9f68c4e5 Add missing word "of" 1 year ago
Kim SHrier 6bdc1caaae add missing word "to" 1 year ago
Kim SHrier d82396c174 fix typo well -> will 1 year ago
Chris Boesch ea93abf4d4 Merge branch 'ratfactor:main' into testing 1 year ago
Chris Boesch a446d67992 Merge pull request #285 from chrboesch/improve_instruction
Improve instructions.
1 year ago
Chris Boesch b6b78c628c Merge branch 'main' into improve_instruction 1 year ago
Chris Boesch a5485bb8a2 Improve instructions. 1 year ago
Chris Boesch b963f2659e Merge branch 'ratfactor:main' into testing 1 year ago
Chris Boesch df833e61e8 Merge pull request #284 from perillo/improve-exercise-type-more
Improve Exercise type more
1 year ago
Manlio Perillo 3f81cdf3ac build: improve Exercise.addExecutable
Replace the file_path variable with path.
1 year ago
Manlio Perillo 1dd5852bec build: use multiline string literals when necessary
Update the output and hint fields in the `exercises` slice to use a
multiline string literal when the string have multiple lines or use the
`"` character.  This will greatly improve readability.
Additionally, remove the trailing whitespace on each line and check it
in the validate_exercises function.

Update the output comparison logic in ZiglingStep, since the current
code assumes that the string has only one line.

Update test/tests.zig to use the new `CheckNamedStep` in test case 1,
since RunStep.StdIo.Check is no longer able to correctly check the
output.

Fixes #283
1 year ago
Chris Boesch f1368f4f81 Merge branch 'ratfactor:main' into testing 1 year ago
Manlio Perillo 397c6671c0 build: remove assertion in `Exercise.key`
Use `orelse unreachable` instead, in order to simplify the code.

Fix doc-comments in the Exercise type.
1 year ago
Manlio Perillo be43e2d010 build: make `Exercise.hint` optional
Use an optional type, instead of an empty string, since it is more
idiomatic.
1 year ago
Dave Gauer e5341b91c1 Ex 101: Magic bags better than buckets for metaphors 1 year ago
Chris Boesch 1c73ad29a7 Merge pull request #281 from perillo/add-healed-path-option
Add the -Dhealed-path option
1 year ago
Manlio Perillo 0cd86d2f9b build: add the healed-path option
This is necessary in the unit tests, to ensure each test case use a
different exercises directory.

Update test/tests.zig to use the new healed-path option, ensuring that
each temp directory is removed.

In test case 3, 4 and 5, move case_step as the first step in the
dependency chain.  This will improve the build summary tree.

In test case 5, remove the dependency to heal_step, since it is not
necessary.
1 year ago
Chris Boesch e273dd298e Merge pull request #280 from arnon4/patch-1
Fixed example syntax for inline else
1 year ago
Arnon 25611b8312 Fixed example syntax for inline else 1 year ago
Dave Gauer f2b3e93402 Merge branch 'main' of github.com:ratfactor/ziglings 1 year ago
Dave Gauer 8a3d722a33 Ex 001 remove ancient script reference + wording 1 year ago
Manlio Perillo eda73b2fa8 test: remove obsolete comment in the heal function
Remove the comment about using POSIX patch variant, since we now use the
-s option.
1 year ago
Manlio Perillo 277c95db7a test: fix doc-comments
CheckStep, FailStep, fail, HealStep and heal incorrectly used a normal
comment, instead of a doc-comment.

Additionally, improve the documentation for FailStep and HealStep.
1 year ago
Manlio Perillo 5c488a1402 test: improve test case 1 and 2
In test case 1 and 2, remove the `i` variable and use `ex.number()`
instead.

In test case 2, when checking the exercise output from stderr, also
check that stdout is empty and vice versa.
1 year ago
Dave Gauer 7a44e4d342 Merge pull request #265 from Arya-Elfren/methods-clarification
Clarify the methods syntax sugar & a bit more
1 year ago
Dave Gauer 8345197f54 Merge pull request #264 from Arya-Elfren/float-clarification
Clarify `f16` maths - closes #204
1 year ago
Chris Boesch 2027c6a403 Merge branch 'ratfactor:main' into testing 1 year ago
Chris Boesch a2b7fbe3e5 Merge pull request #279 from perillo/refactor-zigling-step-2
Refactor ZiglingStep
1 year ago
Chris Boesch 193bee7d2d Added new flag 'run_test' to support test steps for test exercises.
Also created a simple exercise '102_testing' to test the new flag.
After the new build system is ready, we skip the exercise in the flow to finish the actual testing exercise.
1 year ago
Manlio Perillo a5d93c0b20 build: improve coding style in ZiglingStep
- Use an anonymous struct when initializing std.Build.Step.
  - Rename the builder parameter in the create method to b
  - Avoid lines too long

Additionally:
  - In the run method, rename output to raw_output in order to make the
    next variable names shorter.
  - In the compile method, rename zig_file to path.
1 year ago
Manlio Perillo 771b499cbc build: use @panic("OOM") instead of unreachable
The code in ZiglingStep copied the error handling used in std.Build in
the past.

Use @panic("OOM") when the error is caused by the allocator failing to
allocate memory.
1 year ago
Manlio Perillo c6c6a32270 build: improve the exercise output check
Make the error message consistent with the one in std.Build.RunStep,
using the "=" character instead of "-" and correctly aligning the text.
1 year ago
Manlio Perillo feeba51940 build: don't use @This() in ZiglingStep
Use ZiglingStep, instead.

This is consistent with the coding style in std.Build.
1 year ago
Manlio Perillo 3ec978d73f build: remove ZiglingStep.builder field
It is not necessary, since the builder is available in self.step.owner.
1 year ago
Manlio Perillo 11d8468539 build: use Child.exec in ZiglingStep.run
Update the run method to use Child.exec, instead of Child.spawn followed
by Child.wait.
This simplifies the code.
1 year ago
Manlio Perillo 40cbee8fa2 build: fix incorrect error handling in ZiglingStep.compile
When handling the error from the eval method, some possible errors are
ignored.  The make method will only print the exercise hint and the
help message.

Print the unexpected error message, in the else prong.
Note that FileNotFound can also be considered unexpected.
1 year ago
Manlio Perillo 27b941fdaf build: remove the ZiglingStep.makeInternal method
Rename the doCompile method to compile and add the run method.
The two methods are now called from the make method.

Add the help method, since the error handling of compile and run methods
are now separate.

Remove the obsolete comment for the compile method.
1 year ago
Chris Boesch 72a6287a5f Merge pull request #275 from perillo/heal-only-in-test
Heal only in test
1 year ago
Dave Gauer e2f3a5e519 Added Ex 101 "for loops part 5" (Closes #271)
Also gave a shot at explaining data-oriented design, a Zig "hot
topic" ever since the red Hawaiian shirt talk(s).
1 year ago
Manlio Perillo 7a40c4584e Restore unit tests 1 year ago
Manlio Perillo 74b48192e4 test: don't run heal during configuration phase
In order to simplify the code, the heal function is called during the
configuration phase, thus resulting in the function being always called
when the build.zig file is run.

This behavior unfortunately causes a serious issue when the user fix a
broken exercise and, during the next step, the heal function tries to heal
the fixed exercise resulting in GNU patch assuming an attempt to reverse
a patch, waiting for input from the terminal.

Run the heal function from the new HealStep step, so that it is called
only during tests.

Rename the outdir constant to work_path, for consistency with build.zig.

Fixes #272
1 year ago
Chris Boesch f9aec283c8 Merge pull request #273 from chrboesch/patch_error
cli tests removed to solve 272
1 year ago
Chris Boesch f02389e925 comment for the issue added 1 year ago
Chris Boesch 371a8637b3 unit tests temporarily disabled 1 year ago
Chris Boesch 44d51eb9ed cli tests removed to solve 272 1 year ago
Chris Boesch e9d0ab3784 Merge pull request #270 from perillo/improve-exercise-type
Improve the Exercise type
1 year ago