aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2025-03-24 15:23:29 -0400
committerBruce Hill <bruce@bruce-hill.com>2025-03-24 15:23:29 -0400
commit17a10a6887b357e35bd2b415afa071c102d3ca55 (patch)
treef57fd7892f0e2566a8322d1fa6207c8d626c8b87
parentb289b09bdeea84e233e26267d33e3338c8dba084 (diff)
Failure messages
-rw-r--r--examples/commands/commands.tm12
1 files changed, 6 insertions, 6 deletions
diff --git a/examples/commands/commands.tm b/examples/commands/commands.tm
index 348796d6..be18b776 100644
--- a/examples/commands/commands.tm
+++ b/examples/commands/commands.tm
@@ -11,17 +11,17 @@ enum ExitType(Exited(status:Int32), Signaled(signal:Int32), Failed):
when e is Exited(status): return (status == 0)
else: return no
- func or_fail(e:ExitType -> ExitType):
- if e:succeeded(): return e
- fail("Program failed: $e")
+ func or_fail(e:ExitType, message=none:Text):
+ if not e:succeeded():
+ fail(message or "Program failed: $e")
struct ProgramResult(stdout:[Byte], stderr:[Byte], exit_type:ExitType):
- func or_fail(r:ProgramResult -> ProgramResult):
+ func or_fail(r:ProgramResult, message=none:Text -> ProgramResult):
when r.exit_type is Exited(status):
if status == 0:
return r
- else: fail("Program failed: $r")
- fail("Program failed: $r")
+ else: fail(message or "Program failed: $r")
+ fail(message or "Program failed: $r")
func output_text(r:ProgramResult, trim_newline=yes -> Text?):
when r.exit_type is Exited(status):