diff --git a/spec/actions_spec.lua b/spec/actions_spec.lua index 593d7d1..c1a1f4c 100644 --- a/spec/actions_spec.lua +++ b/spec/actions_spec.lua @@ -1,4 +1,5 @@ local Parser = require "argparse" +getmetatable(Parser()).error = function(_, msg) error(msg) end describe("tests related to actions", function() it("calls actions for options", function() diff --git a/spec/arguments_spec.lua b/spec/arguments_spec.lua index c2241fb..7857537 100644 --- a/spec/arguments_spec.lua +++ b/spec/arguments_spec.lua @@ -1,4 +1,5 @@ local Parser = require "argparse" +getmetatable(Parser()).error = function(_, msg) error(msg) end describe("tests related to positional arguments", function() describe("passing correct arguments", function() diff --git a/spec/commands_spec.lua b/spec/commands_spec.lua index 7ae8851..5a0c7b0 100644 --- a/spec/commands_spec.lua +++ b/spec/commands_spec.lua @@ -1,4 +1,5 @@ local Parser = require "argparse" +getmetatable(Parser()).error = function(_, msg) error(msg) end describe("tests related to commands", function() it("handles commands after arguments", function() diff --git a/spec/convert_spec.lua b/spec/convert_spec.lua index befd767..7d509f9 100644 --- a/spec/convert_spec.lua +++ b/spec/convert_spec.lua @@ -1,4 +1,5 @@ local Parser = require "argparse" +getmetatable(Parser()).error = function(_, msg) error(msg) end describe("tests related to converters", function() it("converts arguments", function() diff --git a/spec/default_spec.lua b/spec/default_spec.lua index a80433e..55afe80 100644 --- a/spec/default_spec.lua +++ b/spec/default_spec.lua @@ -1,4 +1,5 @@ local Parser = require "argparse" +getmetatable(Parser()).error = function(_, msg) error(msg) end describe("tests related to default values", function() describe("default values for arguments", function() diff --git a/spec/help_spec.lua b/spec/help_spec.lua index 726adbc..5753d1c 100644 --- a/spec/help_spec.lua +++ b/spec/help_spec.lua @@ -1,4 +1,5 @@ local Parser = require "argparse" +getmetatable(Parser()).error = function(_, msg) error(msg) end describe("tests related to help message generation", function() it("creates correct help message for empty parser", function() diff --git a/spec/integrity_spec.lua b/spec/integrity_spec.lua index dcf4b78..c8233c1 100644 --- a/spec/integrity_spec.lua +++ b/spec/integrity_spec.lua @@ -1,5 +1,3 @@ -local Parser = require "argparse" - describe("tests related to CLI behaviour #unsafe", function() describe("error messages", function() it("generates correct error message without arguments", function() diff --git a/spec/mutex_spec.lua b/spec/mutex_spec.lua index d3f92f5..8ee5640 100644 --- a/spec/mutex_spec.lua +++ b/spec/mutex_spec.lua @@ -1,4 +1,5 @@ local Parser = require "argparse" +getmetatable(Parser()).error = function(_, msg) error(msg) end describe("tests related to mutexes", function() it("handles mutex correctly", function() diff --git a/spec/options_spec.lua b/spec/options_spec.lua index ab2d300..2cee54c 100644 --- a/spec/options_spec.lua +++ b/spec/options_spec.lua @@ -1,4 +1,5 @@ local Parser = require "argparse" +getmetatable(Parser()).error = function(_, msg) error(msg) end describe("tests related to options", function() describe("passing correct options", function() diff --git a/spec/pparse_spec.lua b/spec/pparse_spec.lua index bfd2110..f4ad812 100644 --- a/spec/pparse_spec.lua +++ b/spec/pparse_spec.lua @@ -1,4 +1,5 @@ local Parser = require "argparse" +getmetatable(Parser()).error = function(_, msg) error(msg) end describe("tests related to :pparse()", function() it("returns true and result on success", function() diff --git a/spec/tip_spec.lua b/spec/tip_spec.lua index d3d70b7..cebdec3 100644 --- a/spec/tip_spec.lua +++ b/spec/tip_spec.lua @@ -1,4 +1,5 @@ local Parser = require "argparse" +getmetatable(Parser()).error = function(_, msg) error(msg) end describe("tests related to tips", function() describe("provides tips when data is too long", function() diff --git a/spec/usage_spec.lua b/spec/usage_spec.lua index 80cb2ce..c6846c5 100644 --- a/spec/usage_spec.lua +++ b/spec/usage_spec.lua @@ -1,4 +1,5 @@ local Parser = require "argparse" +getmetatable(Parser()).error = function(_, msg) error(msg) end describe("tests related to usage message generation", function() it("creates correct usage message for empty parser", function() diff --git a/src/argparse.lua b/src/argparse.lua index 86fa918..3d21955 100644 --- a/src/argparse.lua +++ b/src/argparse.lua @@ -941,12 +941,8 @@ function Parser:_parse(args, errhandler) end function Parser:error(msg) - if _TEST then - error(msg) - else - io.stderr:write(("%s\r\n\r\nError: %s\r\n"):format(self:get_usage(), msg)) - os.exit(1) - end + io.stderr:write(("%s\r\n\r\nError: %s\r\n"):format(self:get_usage(), msg)) + os.exit(1) end function Parser:parse(args)