1
0
mirror of https://github.com/ratfactor/ziglings synced 2024-09-26 19:40:47 +02:00
Commit Graph

733 Commits

Author SHA1 Message Date
Chris Boesch
70738e8acd
Merge pull request #289 from kimshrier/exercise_092_typo
Remove repeated word "with"
2023-05-07 17:39:21 +02:00
Chris Boesch
82a0dca3c2
Merge pull request #288 from kimshrier/exercise_076_typo
Add missing word "of"
2023-05-07 17:38:11 +02:00
Chris Boesch
5d301fc0f4
Merge pull request #287 from kimshrier/exercise_072_typo
Add missing word "to"
2023-05-07 17:37:33 +02:00
Chris Boesch
4e4b7f4c03
Merge pull request #286 from kimshrier/exercise_001_typo
fix typo well -> will
2023-05-07 17:36:34 +02:00
Kim SHrier
69141d5ecd Add missing word "a" 2023-05-07 03:33:55 -06:00
Kim SHrier
3e0208ef66 Improve wording in some comments 2023-05-07 03:24:10 -06:00
Kim SHrier
0069801ee3 Fix reference to slice_ptr in example code 2023-05-07 03:08:03 -06:00
Kim SHrier
ef8883997d Remove repeated word "with" 2023-05-07 02:46:07 -06:00
Kim SHrier
14629176f6 Add missing word "of" 2023-05-07 02:04:30 -06:00
Kim SHrier
d1ad60c95b add missing word "to" 2023-05-07 01:38:28 -06:00
Kim SHrier
5dc9a97fdc fix typo well -> will 2023-05-06 15:38:13 -06:00
Chris Boesch
0b84c8ae05
Merge branch 'ratfactor:main' into testing 2023-05-06 20:53:28 +02:00
Chris Boesch
669cde0723
Merge pull request #285 from chrboesch/improve_instruction
Improve instructions.
2023-05-06 20:50:20 +02:00
Chris Boesch
1dc2d1db04
Merge branch 'main' into improve_instruction 2023-05-06 20:22:20 +02:00
Chris Boesch
6a29b92c60 Improve instructions. 2023-05-06 20:14:30 +02:00
Chris Boesch
5b232abd8c
Merge branch 'ratfactor:main' into testing 2023-05-06 19:15:49 +02:00
Chris Boesch
490cbb9048
Merge pull request #284 from perillo/improve-exercise-type-more
Improve Exercise type more
2023-05-06 19:15:14 +02:00
Manlio Perillo
8335f88001 build: improve Exercise.addExecutable
Replace the file_path variable with path.
2023-05-06 18:18:08 +02:00
Manlio Perillo
1a2a1e6f2a 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
2023-05-06 18:12:04 +02:00
Chris Boesch
f83f0c74db
Merge branch 'ratfactor:main' into testing 2023-05-06 15:29:22 +02:00
Manlio Perillo
0ac9a00dfa build: remove assertion in Exercise.key
Use `orelse unreachable` instead, in order to simplify the code.

Fix doc-comments in the Exercise type.
2023-05-06 12:02:21 +02:00
Manlio Perillo
4001168d2b build: make Exercise.hint optional
Use an optional type, instead of an empty string, since it is more
idiomatic.
2023-05-06 11:50:42 +02:00
Dave Gauer
9b17bfca41 Ex 101: Magic bags better than buckets for metaphors 2023-05-05 18:34:36 -04:00
Chris Boesch
e537873abc
Merge pull request #281 from perillo/add-healed-path-option
Add the -Dhealed-path option
2023-05-05 17:44:05 +02:00
Manlio Perillo
f14f4e95a4 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.
2023-05-05 16:22:50 +02:00
Chris Boesch
58d9512c80
Merge pull request #280 from arnon4/patch-1
Fixed example syntax for inline else
2023-05-05 16:03:05 +02:00
Arnon
cd9937bbd7
Fixed example syntax for inline else 2023-05-05 13:11:20 +03:00
Dave Gauer
9ae09d1818 Merge branch 'main' of github.com:ratfactor/ziglings 2023-05-04 19:05:36 -04:00
Dave Gauer
7b9ac0d845 Ex 001 remove ancient script reference + wording 2023-05-04 19:04:58 -04:00
Manlio Perillo
d8fab5153d test: remove obsolete comment in the heal function
Remove the comment about using POSIX patch variant, since we now use the
-s option.
2023-05-04 19:01:48 +02:00
Manlio Perillo
40ba55d537 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.
2023-05-04 18:48:35 +02:00
Manlio Perillo
0d29ac1f5b 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.
2023-05-04 16:34:17 +02:00
Dave Gauer
dbb774c5e3
Merge pull request #265 from Arya-Elfren/methods-clarification
Clarify the methods syntax sugar & a bit more
2023-05-04 08:25:28 -04:00
Dave Gauer
3b1bfc7b44
Merge pull request #264 from Arya-Elfren/float-clarification
Clarify `f16` maths - closes #204
2023-05-04 08:22:54 -04:00
Chris Boesch
67bdbf74b5
Merge branch 'ratfactor:main' into testing 2023-05-03 22:17:56 +02:00
Chris Boesch
7f2fc5b607
Merge pull request #279 from perillo/refactor-zigling-step-2
Refactor ZiglingStep
2023-05-03 22:05:51 +02:00
Chris Boesch
497df878a7 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.
2023-05-03 18:17:21 +02:00
Manlio Perillo
a7078c9780 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.
2023-05-03 18:13:55 +02:00
Manlio Perillo
a7677f1cd1 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.
2023-05-03 18:13:55 +02:00
Manlio Perillo
f32acaf0e4 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.
2023-05-03 18:13:55 +02:00
Manlio Perillo
c2ab3fc191 build: don't use @This() in ZiglingStep
Use ZiglingStep, instead.

This is consistent with the coding style in std.Build.
2023-05-03 18:13:55 +02:00
Manlio Perillo
8af1c01c81 build: remove ZiglingStep.builder field
It is not necessary, since the builder is available in self.step.owner.
2023-05-03 18:13:55 +02:00
Manlio Perillo
7b1e1182fe 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.
2023-05-03 18:13:55 +02:00
Manlio Perillo
3e7320a832 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.
2023-05-03 18:13:55 +02:00
Manlio Perillo
68c468df73 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.
2023-05-03 18:13:55 +02:00
Chris Boesch
02a35e8a09
Merge pull request #275 from perillo/heal-only-in-test
Heal only in test
2023-05-02 21:30:29 +02:00
Dave Gauer
3fc68332d8 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).
2023-05-02 08:26:32 -04:00
Manlio Perillo
402f4fa665 Restore unit tests 2023-05-02 11:13:31 +02:00
Manlio Perillo
642eaf42aa 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
2023-05-02 11:13:25 +02:00
Chris Boesch
7fcf909c77
Merge pull request #273 from chrboesch/patch_error
cli tests removed to solve 272
2023-05-01 20:43:26 +02:00