227 Commits (e182d1f19dd675f826d74abdecb292c11f3a4224)

Author SHA1 Message Date
Chris Boesch 7875a0f9aa
Zig version changed 6 months ago
kamidev f06c1f27d1
Fix breaking zig change to @fieldParentPtr parameters
See https://github.com/ziglang/zig/pull/19470
6 months ago
Alan CHUNG 223fc79e44 106 & 107 6 months ago
Alan CHUNG 9ce889b438 106_files.zig actual test 6 months ago
Alan CHUNG 66d08f1e1f modified build.zig 6 months ago
Chris Boesch d65e3f3f9a
Added second threading exercise. 6 months ago
Chris Boesch 2b9e3da5c8
Fixed the renaming of std.os to std.posix 6 months ago
Chris Boesch abed92c05e Changes for a new Zig version. 6 months ago
dolichomps c8f081f3e8 fix exercise 82 output
zig commit bd24e66 changed the floating point formatting implementation so output for exercise 82 no longer matched
6 months ago
Chris Boesch 6984345d0a Added threading exercise 7 months ago
Chris Boesch 55b2ac4c5f Zig version adjusted. 7 months ago
Alexander Saltanov 755911747f Fix zig_exe location in Build struct
Reflect Zig breaking changes as of 105db13536
8 months ago
drglove ba9447d2c6 Bump version to match required changes. 9 months ago
Zev Averbach 063a74c59a fixed variable declaration by changing it to a const, since it's never mutated 10 months ago
Chris Boesch cab5ee87bf Changed three dots to colons, see #23 11 months ago
Chris Boesch 55b58fea56 Change the task so that the exercise contains two errors again. 11 months ago
Chris Boesch 8a1fbea5c9 fixed build: renamed exec to run 11 months ago
Chris Boesch 3ab1942156 changed compat check to comptime 12 months ago
Nicolas Chataing 51a88cccf7 fix: main entry point is broken with version 0.11.0-dev.4228 1 year ago
Chris Boesch a5a36337e8 Revised exercises due to the changes of Zig version 0.11.0-dev.3853 1 year ago
Chris Boesch a2b0b976a6 First tokenization exerice. 1 year ago
Chris Boesch 9151557d39 Changed error text to bold. 1 year ago
Chris Boesch 940482a07e Merge pull request #308 from perillo/refactor-zigling-step-more
Refactor ZiglingStep more
1 year ago
pseudoc 192bd2e803 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.
1 year ago
Manlio Perillo 0b4ad6e99e 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.
1 year ago
Manlio Perillo 3e38a4fc84 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.
1 year ago
Manlio Perillo d0de9e5348 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.
1 year ago
Manlio Perillo 699f877bd5 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.
1 year ago
Manlio Perillo 9ab9ebf33f 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.
1 year ago
Chris Boesch c3a73b8e2b Added testing exercise. 1 year ago
Manlio Perillo 8deb6b4d95 build: remove extra comment for named mode
It was added in commit 879eeb6 (Execution of test exercises added.).
1 year ago
Manlio Perillo 1c184c2681 build: remove the install and uninstall steps
They are no longer used.
1 year ago
Manlio Perillo c393debe44 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.
1 year ago
Manlio Perillo 9b7ef7d8cf build: remove unused declarations
Remove the `Exercise.addExecutable` method and the `SkipStep` struct, since
they are no longer used.
1 year ago
Manlio Perillo 0304dc3d37 build: show the logo in named mode
When running `zig build -Dn=n`, ensure that the logo is printed.

Update the tests.

Closes #214
1 year ago
Manlio Perillo dc2539ec4e 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
1 year ago
Manlio Perillo ede6671c27 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
1 year ago
Manlio Perillo 164df04618 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
1 year ago
Chris Boesch 7efdff36a8 Execution of test exercises added. 1 year ago
Chris Boesch cee64c13e0 Merge branch 'ratfactor:main' into testing 1 year ago
Manlio Perillo 7aa0737929 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
1 year ago
Manlio Perillo e4e096c680 build: make literal paths portable
Use fs.path.sep_str instead of a slash, in literal paths.
1 year ago
Manlio Perillo 14545778b2 build: improve code formatting
Avoid too long lines or too many line breaks.
1 year ago
Manlio Perillo ea4144a416 build: add the dumpArgs function
Use it in Zigling.compile, in order to reduce code duplication.
1 year ago
Manlio Perillo 9de89f6d60 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.
1 year ago
Manlio Perillo dd5df9f7cc build: use the blank identifier in the parameter list
Instead of marking a parameter as unused inside the function body.
1 year ago
Manlio Perillo bb42451b0f 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`.
1 year ago
Manlio Perillo 4ae67ebf1b 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.
1 year ago
Manlio Perillo 185a40eb75 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.
1 year ago
Chris Boesch 1d7452bf96 Merge branch 'ratfactor:main' into testing 1 year ago