From 5c17d4837cde2272899877c626e5cfa0b910bece Mon Sep 17 00:00:00 2001 From: 1enu <140404651+1enu@users.noreply.github.com> Date: Sun, 5 Nov 2023 12:30:26 +0800 Subject: [PATCH 1/7] Busted fails properly now. Changed file folder. - Uses `busted.core` to properly fail busted tests. - *FILE LOCATION CHANGE* `trace.currentline` should reflect the actual line in the tested code instead of expect.lua:102. This is fixed by moving the entire bustez folder inside luassert so busted properly ignores the folder. --- README.md | 6 +++--- bustez/expect.lua | 13 ++++++++++++- bustez/init.lua | 4 ++-- test.lua | 2 +- 4 files changed, 18 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 790483c..ff48993 100644 --- a/README.md +++ b/README.md @@ -18,12 +18,12 @@ Write a Lua script like this. ```lua -- helper.lua -local bustez = require("bustez") +local bustez = require("luassert.bustez") bustez.register() _G.expect = bustez.expect --[[ alternatively, you can call the bustez module -_G.expect = require("bustez")() +_G.expect = require("luassert.bustez")() --]] ``` @@ -53,7 +53,7 @@ end) `bustez` returns an API when not called: ```lua -local bustez = require 'bustez' +local bustez = require 'luassert.bustez' -- the expect() function, used in tests bustez.expect(value) --> Expectation diff --git a/bustez/expect.lua b/bustez/expect.lua index 1d35b26..c430c55 100644 --- a/bustez/expect.lua +++ b/bustez/expect.lua @@ -5,6 +5,17 @@ local luassert = require("luassert") local util = require("luassert.util") local say = require("say") +-- This is needed to be used for busted to +-- properly recognize it as fail on reporter(and not as error). +local fail +local success, _ = pcall(function() + fail = require("busted.core")().fail +end) +-- Falls back to normal error in case busted is not used. +if not success then + fail = error +end + -- list of namespaces local namespace = require("luassert.namespaces") @@ -99,7 +110,7 @@ local __state_meta = { message = assertion.negative_message end local err = geterror(message, rawget(self, "failure_message"), arguments) - error(err or "assertion failed!", util.errorlevel()) + fail(err or "assertion failed!", util.errorlevel()) end if retargs then diff --git a/bustez/init.lua b/bustez/init.lua index a175212..b98e126 100644 --- a/bustez/init.lua +++ b/bustez/init.lua @@ -1,6 +1,6 @@ local bustez = { - register = require("bustez.register"), - expect = require("bustez.expect"), + register = require("luassert.bustez.register"), + expect = require("luassert.bustez.expect"), } local bustezMt = {} diff --git a/test.lua b/test.lua index dccf6f6..c1687f3 100644 --- a/test.lua +++ b/test.lua @@ -2,7 +2,7 @@ local spy = require("luassert.spy") local stub = require("luassert.stub") local assert = require("luassert") local say = require("say") -local expect = require("bustez")() +local expect = require("luassert.bustez")() expect(false).to.never.be.ok() expect(nil).to.never.be.ok() From c57a4bc2e545254051dcc7a30b0f601fee36bdc7 Mon Sep 17 00:00:00 2001 From: 1enu <140404651+1enu@users.noreply.github.com> Date: Sun, 5 Nov 2023 15:32:47 +0800 Subject: [PATCH 2/7] use `luassert` instead of `busted.core` --- bustez/expect.lua | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/bustez/expect.lua b/bustez/expect.lua index c430c55..eb4e47a 100644 --- a/bustez/expect.lua +++ b/bustez/expect.lua @@ -5,17 +5,6 @@ local luassert = require("luassert") local util = require("luassert.util") local say = require("say") --- This is needed to be used for busted to --- properly recognize it as fail on reporter(and not as error). -local fail -local success, _ = pcall(function() - fail = require("busted.core")().fail -end) --- Falls back to normal error in case busted is not used. -if not success then - fail = error -end - -- list of namespaces local namespace = require("luassert.namespaces") @@ -110,7 +99,7 @@ local __state_meta = { message = assertion.negative_message end local err = geterror(message, rawget(self, "failure_message"), arguments) - fail(err or "assertion failed!", util.errorlevel()) + luassert(err or "assertion failed!", util.errorlevel()) end if retargs then From b9949b3b35c07cc52f7b40bd29574fe722f119f3 Mon Sep 17 00:00:00 2001 From: 1enu <140404651+1enu@users.noreply.github.com> Date: Sun, 5 Nov 2023 15:34:20 +0800 Subject: [PATCH 3/7] added false in luassert line --- bustez/expect.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bustez/expect.lua b/bustez/expect.lua index eb4e47a..9539d3d 100644 --- a/bustez/expect.lua +++ b/bustez/expect.lua @@ -99,7 +99,7 @@ local __state_meta = { message = assertion.negative_message end local err = geterror(message, rawget(self, "failure_message"), arguments) - luassert(err or "assertion failed!", util.errorlevel()) + luassert(false, err or "assertion failed!", util.errorlevel()) end if retargs then From 4b273974e564bfa3338197964a37ca39ad1effd6 Mon Sep 17 00:00:00 2001 From: 1enu <140404651+1enu@users.noreply.github.com> Date: Sun, 5 Nov 2023 15:42:45 +0800 Subject: [PATCH 4/7] revert to using `busted.core` --- bustez/expect.lua | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/bustez/expect.lua b/bustez/expect.lua index 9539d3d..c430c55 100644 --- a/bustez/expect.lua +++ b/bustez/expect.lua @@ -5,6 +5,17 @@ local luassert = require("luassert") local util = require("luassert.util") local say = require("say") +-- This is needed to be used for busted to +-- properly recognize it as fail on reporter(and not as error). +local fail +local success, _ = pcall(function() + fail = require("busted.core")().fail +end) +-- Falls back to normal error in case busted is not used. +if not success then + fail = error +end + -- list of namespaces local namespace = require("luassert.namespaces") @@ -99,7 +110,7 @@ local __state_meta = { message = assertion.negative_message end local err = geterror(message, rawget(self, "failure_message"), arguments) - luassert(false, err or "assertion failed!", util.errorlevel()) + fail(err or "assertion failed!", util.errorlevel()) end if retargs then From 06828574ea7d8713282a14e45e22bfc7cf1fbbc4 Mon Sep 17 00:00:00 2001 From: goldenstein64 Date: Sun, 5 Nov 2023 17:27:56 -0500 Subject: [PATCH 5/7] reverted require path changes --- README.md | 6 +++--- bustez/init.lua | 4 ++-- test.lua | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index ff48993..790483c 100644 --- a/README.md +++ b/README.md @@ -18,12 +18,12 @@ Write a Lua script like this. ```lua -- helper.lua -local bustez = require("luassert.bustez") +local bustez = require("bustez") bustez.register() _G.expect = bustez.expect --[[ alternatively, you can call the bustez module -_G.expect = require("luassert.bustez")() +_G.expect = require("bustez")() --]] ``` @@ -53,7 +53,7 @@ end) `bustez` returns an API when not called: ```lua -local bustez = require 'luassert.bustez' +local bustez = require 'bustez' -- the expect() function, used in tests bustez.expect(value) --> Expectation diff --git a/bustez/init.lua b/bustez/init.lua index b98e126..a175212 100644 --- a/bustez/init.lua +++ b/bustez/init.lua @@ -1,6 +1,6 @@ local bustez = { - register = require("luassert.bustez.register"), - expect = require("luassert.bustez.expect"), + register = require("bustez.register"), + expect = require("bustez.expect"), } local bustezMt = {} diff --git a/test.lua b/test.lua index c1687f3..dccf6f6 100644 --- a/test.lua +++ b/test.lua @@ -2,7 +2,7 @@ local spy = require("luassert.spy") local stub = require("luassert.stub") local assert = require("luassert") local say = require("say") -local expect = require("luassert.bustez")() +local expect = require("bustez")() expect(false).to.never.be.ok() expect(nil).to.never.be.ok() From 6b72225e6416bd2a67b95484a378181cc6d73b3d Mon Sep 17 00:00:00 2001 From: goldenstein64 Date: Sun, 5 Nov 2023 17:28:56 -0500 Subject: [PATCH 6/7] added expect stub --- bustez/expect_stub.lua | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 bustez/expect_stub.lua diff --git a/bustez/expect_stub.lua b/bustez/expect_stub.lua new file mode 100644 index 0000000..197da3a --- /dev/null +++ b/bustez/expect_stub.lua @@ -0,0 +1,4 @@ +-- The `expect` implementation was made a descendant of luassert so that +-- tracebacks generated by Busted don't include it. + +return require("luassert.bustez.expect") From 663dfc3d84579b247ed5185ed520abd00c485826 Mon Sep 17 00:00:00 2001 From: goldenstein64 Date: Sun, 5 Nov 2023 17:29:38 -0500 Subject: [PATCH 7/7] refactored source directory --- bustez/expect_stub.lua => src/bustez/expect.lua | 0 {bustez => src/bustez}/init.lua | 0 {bustez => src/bustez}/register.lua | 0 {bustez => src/luassert/bustez}/expect.lua | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename bustez/expect_stub.lua => src/bustez/expect.lua (100%) rename {bustez => src/bustez}/init.lua (100%) rename {bustez => src/bustez}/register.lua (100%) rename {bustez => src/luassert/bustez}/expect.lua (100%) diff --git a/bustez/expect_stub.lua b/src/bustez/expect.lua similarity index 100% rename from bustez/expect_stub.lua rename to src/bustez/expect.lua diff --git a/bustez/init.lua b/src/bustez/init.lua similarity index 100% rename from bustez/init.lua rename to src/bustez/init.lua diff --git a/bustez/register.lua b/src/bustez/register.lua similarity index 100% rename from bustez/register.lua rename to src/bustez/register.lua diff --git a/bustez/expect.lua b/src/luassert/bustez/expect.lua similarity index 100% rename from bustez/expect.lua rename to src/luassert/bustez/expect.lua