]> Kevux Git Server - fll/commit
Regression: The "failure" operation if condition type is not working as intended.
authorKevin Day <thekevinday@gmail.com>
Wed, 12 Jan 2022 03:48:43 +0000 (21:48 -0600)
committerKevin Day <thekevinday@gmail.com>
Wed, 12 Jan 2022 03:48:43 +0000 (21:48 -0600)
commit8487f7fa658e74d06d5072358f0668ac2952ef10
tree146de1077a2e90728f45bb029397107fae353654
parent6da2d6a91e15b48deabec0c84e621115469fcf3e
Regression: The "failure" operation if condition type is not working as intended.

The documentation and specification is out of date and refers to this as "fail".
This is instead the word "failure".
This is also different from the setting "fail" that designates what to do on failure.

With one of the recent re-designs of the process logic, the failure status is no longer being passed.
When the "fail" setting is set to "warn" or "ignore", the status code of F_none is returned.

Change the return status to "F_failure" without the error bit to designate that this is a failure but it is not being treated as an error due to the state of the "fail" setting.
Then process the "F_failure" without the error bit to remember the state that a failure occurred.
This then allows for the "failure" if condition type to get triggered.

The recent if/else logic changes introduced behavior where a failure in the processing of the if/else commands should also trigger the "failure" if condition type.
This failure is not associated with the if condition results.
When an if condition results in either true or false, then this is considered a "success" rather than a "failure".
Generally, syntax failures are what trigger the "failure" state.

Programs that are executed, such as when using the "run" operation, will result in "failure" if a non-zero value is returned by the program.
level_3/fake/c/private-make-operate.c
level_3/fake/c/private-make-operate_process.c
level_3/fake/c/private-make-operate_process.h
level_3/fake/documents/fakefile.txt
level_3/fake/specifications/fakefile.txt