1
0
Fork 0
mirror of https://github.com/ratfactor/ziglings synced 2024-05-24 04:16:02 +02:00
Commit Graph

732 Commits

Author SHA1 Message Date
Chris Boesch d366a560db
Merge pull request #313 from chrboesch/colors
Changed error text to bold.
2023-05-30 21:54:49 +02:00
Chris Boesch aaad6ccd93 Changed error text to bold. 2023-05-30 21:45:33 +02:00
Chris Boesch 2b0cdeafc8
Merge pull request #312 from pdietl/pdietl/fix_grammar
Change grammar: there's -> there are ex. 17
2023-05-30 21:34:46 +02:00
Chris Boesch 05cb7f53d9
Merge pull request #308 from perillo/refactor-zigling-step-more
Refactor ZiglingStep more
2023-05-30 20:20:53 +02:00
Pete Dietl 23b8fbb5ef Change grammar: there's -> there are ex. 17 2023-05-27 01:28:30 +02:00
Chris Boesch 0f92dac175
changed version number 2023-05-25 15:18:14 +02:00
Chris Boesch b817bf38f4
Merge pull request #309 from pseudocc/main
change std.debug.TTY to std.io.tty
2023-05-25 15:15:28 +02:00
pseudoc 25513a186a
change std.debug.TTY to std.io.tty
Zig commit:     0f6fa3f20b3b28958921bd63a9a9d96468455e9c

std: Move std.debug.{TTY.Config,detectTTYConfig} to std.io.tty

Also get rid of the TTY wrapper struct, which was exlusively used as a
namespace - this is done by the tty.zig root struct now.

detectTTYConfig has been renamed to just detectConfig, which is enough
given the new namespace. Additionally, a doc comment had been added.
2023-05-25 18:04:36 +08:00
Manlio Perillo 98b658c38f build: use the old color style
In the `Zigling.printError` method, use a bold red color for the "error:"
string and a dim red color for the error message.

In the `Zigling.check_output` method, use the old color style.
2023-05-22 11:49:46 +02:00
Manlio Perillo beec735378 build: in `ZiglingStep.check_output` panic in case of OOM
This is necessary since, when trimLines returns `std.mem.Allocator.Error`,
no error message will be displayed to the user.

An alternative is to use `std.Build.Step.fail`, but using @panic("OOM")
is simpler and consistent with existing code.
2023-05-20 07:25:53 +02:00
Manlio Perillo 8c887d1d36 build: use `std.Build.Step.fail` to report errors
Have all error messages handled in a single place (printError), by using
the `std.Build.Step.fail` method.  Ensure that the first letter in the
error message is lower case and remove coloring, since it is done in the
`ZiglingStep.printError` method.

Additionally, in the `ZiglingStep.check_test` method, remove trailing
whitespace from stderr.
2023-05-19 19:27:44 +02:00
Manlio Perillo 066b6c3749 build: remove `ZiglingStep.eval`
Remove the `ZiglingStep.eval` method and the src/ipc.zig source code.
Use `Step.evalZigProcess`, instead. This greatly simplifies the code.

Print the error messages and error bundle in `ZiglingStep.make`, both in
case of error and success.

Additionally, remove the `ZiglingStep.is_testing` field, since it is no
longer necessary.
2023-05-19 19:27:33 +02:00
Chris Boesch 93ad6f8ac7
Merge pull request #305 from perillo/improve-run-test
Improve running tests
2023-05-18 12:14:14 +02:00
Manlio Perillo 7887b6bee3 Enable again the unit tests 2023-05-15 15:45:28 +02:00
Manlio Perillo c67ff9de9b Refactor testing support
Following the implementation in `std.Build.Step.Compile, add the Kind
type to differentiate between a normal executable and a test executable
running zig tests.  Replace `Exercise.run_test` field with `kind`.

Compile the exercise in both the exe and test cases, reducing code
duplication.

Add the `check_output` and `check_test` methods in ZiglingStep, in order
to differentiate the code checking a normal executable and a test
executable.

Update the tests to correctly check both the exe and test cases.  Remove
the temporary code added in commit 832772c.
2023-05-15 15:36:31 +02:00
Chris Boesch 18e6aa2ad8
Update README.md
Marked 'testing' as finished.
2023-05-15 01:01:27 +02:00
Chris Boesch 20a66aa682
Merge pull request #304 from chrboesch/testing_exercise
Added testing exercise.
2023-05-15 01:00:28 +02:00
Chris Boesch 86da9e02d8
Unit tests temporarily disabled. 2023-05-15 00:54:46 +02:00
Chris Boesch 832772cd83 Added testing exercise. 2023-05-15 00:06:15 +02:00
Chris Boesch 50d280ee5b
Merge pull request #300 from perillo/simplify-build
Simplify build.zig
2023-05-14 18:06:14 +02:00
Manlio Perillo 31723adc56 build: remove extra comment for named mode
It was added in commit 879eeb6 (Execution of test exercises added.).
2023-05-14 17:27:14 +02:00
Manlio Perillo 079043ef90 tests: improve test case 3
Update test case 3 to check all exercises with an hint.
2023-05-14 17:22:03 +02:00
Manlio Perillo 9466d269d4 build: remove the install and uninstall steps
They are no longer used.
2023-05-14 17:22:03 +02:00
Manlio Perillo 7c4bb9c647 build: improve the help message in ZiglingStep
Add the Mode enum, so that ZiglingStep can detect if it was called in
normal mode or in named mode.

Update the help method to print the correct message based on the current
build mode.
2023-05-14 17:22:03 +02:00
Manlio Perillo d78b51ce3c build: remove unused declarations
Remove the `Exercise.addExecutable` method and the `SkipStep` struct, since
they are no longer used.
2023-05-14 17:22:03 +02:00
Manlio Perillo f2c4d168a0 build: show the logo in named mode
When running `zig build -Dn=n`, ensure that the logo is printed.

Update the tests.

Closes #214
2023-05-14 17:22:03 +02:00
Manlio Perillo 5bb9def802 build: simplify the named build mode
Remove the following steps, since they are rarely (if never) used and
only increase the complexity of the `build.zig` file:

 - install step (zig build -Dn=n install)
 - test step (zig build -Dn=n test)
 - start step (zig build -Dn=n start)

The only remaining step is the default zigling step (zig build -Dn=n),
where the user can choose the exercise to solve.

Update the tests.  Additionally, update CheckNamedStep and CheckStep so
that they can share the same functions.

Closes #299
2023-05-14 17:22:03 +02:00
Manlio Perillo 7bd0a10bc0 build: remove the install step in the normal build mode
Removing the install step will simplify the current code.

Copying the exercise executable to the zig-out directory can be done in
`ZiglingStep.

Closes #298
2023-05-14 17:21:59 +02:00
Manlio Perillo a64d4d5fe1 build: remove the special eowyn build mode
The special eowyn mode was added in order to improve the performance of
the Eowyn Github workflow.

Remove it, since it adds unnecessary complexity to the `build.zig` file.

Closes #297
2023-05-14 17:20:47 +02:00
Chris Boesch c39ede20dc
Merge pull request #278 from chrboesch/testing
Added new flag 'run_test' to support test steps for test exercises
2023-05-13 23:31:28 +02:00
Chris Boesch 879eeb64dd Execution of test exercises added. 2023-05-13 21:42:48 +02:00
Chris Boesch f1e6bd5a8e
Merge branch 'ratfactor:main' into testing 2023-05-13 19:30:33 +02:00
Chris Boesch 41f2755d6f
Merge pull request #293 from perillo/improve-build-even-more
More improvements to build.zig and test/tests.zig
2023-05-11 18:50:20 +02:00
Manlio Perillo 6d7a4bbe2b Restore unit tests
Commit dbd42bb (Cleaning up zig build output) broke the unit test.

Always use exit code 2, instead of 0.  This is the exit code used by the
build runner to notify the compiler to not report any further
diagnostics.

Move the Ziglings logo from the `build` function scope to the global
scope, and make it public so that tests.zig can use it to find the
number of lines to skip, instead of using an hard coded value.

Fixes #295
2023-05-09 17:28:41 +02:00
Manlio Perillo ac3c2b565b build: make literal paths portable
Use fs.path.sep_str instead of a slash, in literal paths.
2023-05-09 11:11:11 +02:00
Manlio Perillo 7cf6506727 tests: remove the missing functions from RunStep
Use directly the RunStep.addCheck method, instead.
2023-05-09 11:11:11 +02:00
Manlio Perillo 7b9d3ec3df build: improve code formatting
Avoid too long lines or too many line breaks.
2023-05-09 11:11:11 +02:00
Manlio Perillo 6f2ffbbdbc build: add the dumpArgs function
Use it in Zigling.compile, in order to reduce code duplication.
2023-05-09 11:11:03 +02:00
Manlio Perillo daac879aae build: fix doc-comments
Some functions and custom build steps incorrectly used a normal comment.
Use a doc-comment instead.

Additionally, use a present tense verb to describe the action of a
function or custom build step.
2023-05-09 11:07:22 +02:00
Manlio Perillo 7cd439b889 build: use the blank identifier in the parameter list
Instead of marking a parameter as unused inside the function body.
2023-05-09 11:07:22 +02:00
Manlio Perillo 9c3ea769dc build: use self when using @fieldParentPtr
Update PrintStep and SkipStep to use the `self` variable when getting
the parent pointer from Step.

This convention is used in `std.Build`.
2023-05-09 11:07:22 +02:00
Manlio Perillo 1ed58a1128 build: don't install skipped exercises
Update the code in `zig build install` and `zig build -Dn=n install`, so
that exercises that must be skipped are not installed, since it will
cause an error.  Ensure that a skip message is printed.
2023-05-09 11:07:22 +02:00
Manlio Perillo fb5b04f374 build: fix `zig build -Dhealed install`
The command fails because the path to the exercises directory was
incorrectly set to "exercises" instead of `work_path`.

The bug was introduced in commit b56bb7b
(build: enable full parallelism when -Dhealed is set).

Remove the comment about not using multi-object loop, since it is
confusing.
2023-05-09 11:07:22 +02:00
Chris Boesch 307757a765
Merge branch 'ratfactor:main' into testing 2023-05-09 10:02:03 +02:00
Dave Gauer dbd42bb648 Cleaning up zig build output
* Only show actual Zig compiler errors, not build internals to
  confused and dismay.

* Remove advanced usage instructions not needed in normal
  operation.
2023-05-08 09:20:27 -04:00
Chris Boesch 05aaa12975
Merge branch 'ratfactor:main' into testing 2023-05-07 17:59:28 +02:00
Chris Boesch 13dd265b32
Merge pull request #292 from kimshrier/exercise_099_typo
Add missing word "a"
2023-05-07 17:45:13 +02:00
Chris Boesch a7f0f07075
Merge pull request #291 from kimshrier/exercise_098_typo
Improve wording in some comments
2023-05-07 17:44:07 +02:00
Chris Boesch 7a53cb5601
Merge pull request #290 from kimshrier/exercise_096_fix_example
Fix reference to slice_ptr in example code
2023-05-07 17:40:33 +02:00
Chris Boesch 70738e8acd
Merge pull request #289 from kimshrier/exercise_092_typo
Remove repeated word "with"
2023-05-07 17:39:21 +02:00