diff options
Diffstat (limited to '')
27 files changed, 546 insertions, 0 deletions
diff --git a/tests/config/tapered/test/.luacov b/tests/config/tapered/test/.luacov new file mode 100644 index 0000000..7d3205e --- /dev/null +++ b/tests/config/tapered/test/.luacov @@ -0,0 +1,55 @@ +--- Global configuration file. Copy, customize and store in your +-- project folder as '.luacov' for project specific configuration. +-- If some options are missing, their default values from this file +-- will be used. +-- @class module +-- @name luacov.defaults +return { + + -- default filename to load for config options if not provided + -- only has effect in 'luacov.defaults.lua' + ["configfile"] = ".luacov", + + -- filename to store stats collected + ["statsfile"] = "luacov.stats.out", + + -- filename to store report + ["reportfile"] = "luacov.report.out", + + -- luacov.stats file updating frequency. + -- The lower this value - the more frequenty results will be written out to luacov.stats + -- You may want to reduce this value for short lived scripts (to for example 2) to avoid losing coverage data. + ["savestepsize"] = 100, + + -- Run reporter on completion? (won't work for ticks) + runreport = false, + + -- Delete stats file after reporting? + deletestats = false, + + -- Process Lua code loaded from raw strings + -- (that is, when the 'source' field in the debug info + -- does not start with '@') + codefromstrings = false, + + -- Patterns for files to include when reporting + -- all will be included if nothing is listed + -- (exclude overrules include, do not include + -- the .lua extension, path separator is always '/') + ["include"] = { 'src/tapered' }, + + -- Patterns for files to exclude when reporting + -- all will be included if nothing is listed + -- (exclude overrules include, do not include + -- the .lua extension, path separator is always '/') + ["exclude"] = { + "luacov$", + "luacov/reporter$", + "luacov/defaults$", + "luacov/runner$", + "luacov/stats$", + "luacov/tick$", + }, + + +} diff --git a/tests/config/tapered/test/boom-result.txt b/tests/config/tapered/test/boom-result.txt new file mode 100644 index 0000000..871b509 --- /dev/null +++ b/tests/config/tapered/test/boom-result.txt @@ -0,0 +1,7 @@ +ok 1 - ok - return nada.__eq +# Got this error: "boom-test.lua:13: attempt to index local 'x' (a nil value)" +not ok 2 - not ok - Test boom with a method that throws no exception +# Trouble in boom-test.lua around line 16 +ok 3 - ok - Test boom with a method that throws an exception "Kaboom!" +# Got this error: "Kaboom!" +1..3 diff --git a/tests/config/tapered/test/boom-test.lua b/tests/config/tapered/test/boom-test.lua new file mode 100755 index 0000000..f2b585a --- /dev/null +++ b/tests/config/tapered/test/boom-test.lua @@ -0,0 +1,19 @@ +package.path = '../src/?.lua;' .. package.path +local tap = require 'tapered' +local error = error + +--- boom +-- boom(method, arguments, [msg]) tests if the function throws an exception when +-- given the arguments supplied. The arguments parameter must be a table. It can +-- be empty if the given method takes no arguments, but it cannot be nil. +-- +-- Note that boom expects an exception. It passes if an exception is throw, and +-- fails if one is not. The exception, however, will be swallowed by boom so +-- that test execution continues. +local broken = function (x) return x.__eq end +local add = function (x, y) return x+y end +tap.boom(broken, {}, 'ok - return nada.__eq') +tap.boom(add, {2, 3}, 'not ok - Test boom with a method that throws no exception') +tap.boom(error, {'Kaboom!'}, + 'ok - Test boom with a method that throws an exception "Kaboom!"') +tap.done() diff --git a/tests/config/tapered/test/done-failure-result.txt b/tests/config/tapered/test/done-failure-result.txt new file mode 100644 index 0000000..ce29e24 --- /dev/null +++ b/tests/config/tapered/test/done-failure-result.txt @@ -0,0 +1,2 @@ +ok 1 +# Bad plan. You planned 10 tests but ran 1 diff --git a/tests/config/tapered/test/done-failure-test.lua b/tests/config/tapered/test/done-failure-test.lua new file mode 100644 index 0000000..40603d4 --- /dev/null +++ b/tests/config/tapered/test/done-failure-test.lua @@ -0,0 +1,5 @@ +package.path = '../src/?.lua;' .. package.path +local tap = require 'tapered' + +tap.ok(true) +tap.done(10) diff --git a/tests/config/tapered/test/done-success-result.txt b/tests/config/tapered/test/done-success-result.txt new file mode 100644 index 0000000..45541bc --- /dev/null +++ b/tests/config/tapered/test/done-success-result.txt @@ -0,0 +1,2 @@ +ok 1 +1..1 diff --git a/tests/config/tapered/test/done-success-test.lua b/tests/config/tapered/test/done-success-test.lua new file mode 100644 index 0000000..9e58ddd --- /dev/null +++ b/tests/config/tapered/test/done-success-test.lua @@ -0,0 +1,5 @@ +package.path = '../src/?.lua;' .. package.path +local tap = require 'tapered' + +tap.ok(true) +tap.done(1) diff --git a/tests/config/tapered/test/dynamic-setup-teardown-result.txt b/tests/config/tapered/test/dynamic-setup-teardown-result.txt new file mode 100644 index 0000000..7130f99 --- /dev/null +++ b/tests/config/tapered/test/dynamic-setup-teardown-result.txt @@ -0,0 +1,10 @@ +# I'm a little teapot. +ok 1 - setup() only with '# I'm a little teapot.' +# This is my handle and this is my spout. +ok 2 - setup() handle and spout, teardown() cleanup on aisle 9 +# Cleanup on aisle 9! +# This is my handle and this is my spout. +ok 3 - setup() again handle and spout, teardown() changed +# I changed this. +ok 4 - Both setup and teardown should be gone now: redefined as nil. +1..4 diff --git a/tests/config/tapered/test/dynamic-setup-teardown-test.lua b/tests/config/tapered/test/dynamic-setup-teardown-test.lua new file mode 100755 index 0000000..c7abb9d --- /dev/null +++ b/tests/config/tapered/test/dynamic-setup-teardown-test.lua @@ -0,0 +1,27 @@ +package.path = '../src/?.lua;' .. package.path +local tap = require 'tapered' + +-- luacheck: globals setup teardown +function setup() + print("# I'm a little teapot.") +end +tap.ok(true, "setup() only with '# I'm a little teapot.'") + +function setup() + print('# This is my handle and this is my spout.') +end +function teardown() + print('# Cleanup on aisle 9!') +end +tap.ok(true, 'setup() handle and spout, teardown() cleanup on aisle 9') + +function teardown() + print('# I changed this.') +end +tap.ok(true, 'setup() again handle and spout, teardown() changed') + +setup = nil +teardown = nil +tap.ok(true, 'Both setup and teardown should be gone now: redefined as nil.') + +tap.done() diff --git a/tests/config/tapered/test/exit-failure-test.lua b/tests/config/tapered/test/exit-failure-test.lua new file mode 100755 index 0000000..18339c2 --- /dev/null +++ b/tests/config/tapered/test/exit-failure-test.lua @@ -0,0 +1,6 @@ +package.path = '../src/?.lua;' .. package.path +local tap = require 'tapered' + +-- Test exit status with a failed test. Call `fail` and we're done! +tap.fail('not ok - No test: just fail') +tap.done() diff --git a/tests/config/tapered/test/exit-success-test.lua b/tests/config/tapered/test/exit-success-test.lua new file mode 100755 index 0000000..b588b64 --- /dev/null +++ b/tests/config/tapered/test/exit-success-test.lua @@ -0,0 +1,6 @@ +package.path = '../src/?.lua;' .. package.path +local tap = require 'tapered' + +-- Testing exit status. Call `pass` and then we're out. +tap.pass('ok - No test: just pass') +tap.done() diff --git a/tests/config/tapered/test/informational-fields-result.txt b/tests/config/tapered/test/informational-fields-result.txt new file mode 100644 index 0000000..4d0ebc1 --- /dev/null +++ b/tests/config/tapered/test/informational-fields-result.txt @@ -0,0 +1,4 @@ +ok 1 - author() should be 'Peter Aronoff' +ok 2 - version() should be '2.3.0' +ok 3 - license() should be 'BSD 3-Clause' +ok 4 - url() should be 'https://github.com/telemachus/tapered' diff --git a/tests/config/tapered/test/informational-fields-test.lua b/tests/config/tapered/test/informational-fields-test.lua new file mode 100755 index 0000000..35ef7d8 --- /dev/null +++ b/tests/config/tapered/test/informational-fields-test.lua @@ -0,0 +1,8 @@ +package.path = '../src/?.lua;' .. package.path +local tap = require 'tapered' + +tap.is(tap.author(), 'Peter Aronoff', "author() should be 'Peter Aronoff'") +tap.is(tap.version(), '2.3.0', "version() should be '2.3.0'") +tap.is(tap.license(), 'BSD 3-Clause', "license() should be 'BSD 3-Clause'") +tap.is(tap.url(), "https://github.com/telemachus/tapered", + "url() should be 'https://github.com/telemachus/tapered'") diff --git a/tests/config/tapered/test/is-isnt-result.txt b/tests/config/tapered/test/is-isnt-result.txt new file mode 100644 index 0000000..583a9a7 --- /dev/null +++ b/tests/config/tapered/test/is-isnt-result.txt @@ -0,0 +1,43 @@ +ok 1 - ok - is(2+1, 3) +not ok 2 - not ok - is(2+2, 3) +# Trouble in is-isnt-test.lua around line 8 +ok 3 - ok - is(print, print) +not ok 4 - not ok - is(print, 3) +# Trouble in is-isnt-test.lua around line 10 +ok 5 - ok - is("hello", "hello") +not ok 6 - not ok - is("goodbye", "hello") +# Trouble in is-isnt-test.lua around line 12 +ok 7 - ok - is(nil, nil) +not ok 8 - not ok - is(nil, false) +# Trouble in is-isnt-test.lua around line 14 +ok 9 - ok - is(false, false) +ok 10 - ok - is(true, true) +not ok 11 - not ok - is(true, false) +# Trouble in is-isnt-test.lua around line 17 +not ok 12 - not ok - is(false, true) +# Trouble in is-isnt-test.lua around line 18 +ok 13 - ok - isnt(2+2, 3) +not ok 14 - not ok - isnt(2+2, 4) +# Trouble in is-isnt-test.lua around line 20 +ok 15 - ok - isnt(3, print) +ok 16 - ok - isnt(print, os.exit) +ok 17 - ok - isnt("hello", "goodbye") +not ok 18 - not ok - isnt("hello", "hello") +# Trouble in is-isnt-test.lua around line 24 +not ok 19 - not ok - isnt(nil, nil) +# Trouble in is-isnt-test.lua around line 25 +ok 20 - ok - isnt(nil, false) +not ok 21 - not ok - isnt(false, false) +# Trouble in is-isnt-test.lua around line 27 +not ok 22 - not ok - isnt(true, true) +# Trouble in is-isnt-test.lua around line 28 +ok 23 - ok - isnt(true, false) +ok 24 - ok - isnt(false, true) +ok 25 - ok - isnt(nil, false) +not ok 26 - not ok - isnt(false, false) +# Trouble in is-isnt-test.lua around line 32 +not ok 27 - not ok - isnt(true, true) +# Trouble in is-isnt-test.lua around line 33 +ok 28 - ok - isnt(true, false) +ok 29 - ok - isnt(false, true) +1..29 diff --git a/tests/config/tapered/test/is-isnt-test.lua b/tests/config/tapered/test/is-isnt-test.lua new file mode 100755 index 0000000..d1c7636 --- /dev/null +++ b/tests/config/tapered/test/is-isnt-test.lua @@ -0,0 +1,36 @@ +package.path = '../src/?.lua;' .. package.path +local tap = require 'tapered' + +--- is and isnt +-- is(actual, expected, [msg]) tests if actual == expected +-- isnt(actual, expected, [msg]) tests if actual ~= expected +tap.is(2+1, 3, 'ok - is(2+1, 3)') +tap.is(2+2, 3, 'not ok - is(2+2, 3)') +tap.is(print, print, 'ok - is(print, print)') +tap.is(print, 3, 'not ok - is(print, 3)') +tap.is('hello', 'hello', 'ok - is("hello", "hello")') +tap.is('goodbye', 'hello', 'not ok - is("goodbye", "hello")') +tap.is(nil, nil, 'ok - is(nil, nil)') +tap.is(nil, false, 'not ok - is(nil, false)') +tap.is(false, false, 'ok - is(false, false)') +tap.is(true, true, 'ok - is(true, true)') +tap.is(true, false, 'not ok - is(true, false)') +tap.is(false, true, 'not ok - is(false, true)') +tap.isnt(2+2, 3, 'ok - isnt(2+2, 3)') +tap.isnt(2+2, 4, 'not ok - isnt(2+2, 4)') +tap.isnt(3, print, 'ok - isnt(3, print)') +tap.isnt(print, os.exit, 'ok - isnt(print, os.exit)') +tap.isnt('hello', 'goodbye', 'ok - isnt("hello", "goodbye")') +tap.isnt('hello', 'hello', 'not ok - isnt("hello", "hello")') +tap.isnt(nil, nil, 'not ok - isnt(nil, nil)') +tap.isnt(nil, false, 'ok - isnt(nil, false)') +tap.isnt(false, false, 'not ok - isnt(false, false)') +tap.isnt(true, true, 'not ok - isnt(true, true)') +tap.isnt(true, false, 'ok - isnt(true, false)') +tap.isnt(false, true, 'ok - isnt(false, true)') +tap.isnt(nil, false, 'ok - isnt(nil, false)') +tap.isnt(false, false, 'not ok - isnt(false, false)') +tap.isnt(true, true, 'not ok - isnt(true, true)') +tap.isnt(true, false, 'ok - isnt(true, false)') +tap.isnt(false, true, 'ok - isnt(false, true)') +tap.done() diff --git a/tests/config/tapered/test/like-unlike-result.txt b/tests/config/tapered/test/like-unlike-result.txt new file mode 100644 index 0000000..f61aac2 --- /dev/null +++ b/tests/config/tapered/test/like-unlike-result.txt @@ -0,0 +1,13 @@ +ok 1 - ok - like('sat', 'sat') +not ok 2 - not ok - like('sat', 'bbb') +# Trouble in like-unlike-test.lua around line 8 +ok 3 - ok - unlike('sat', 'q') +not ok 4 - not ok - unlike('q', 'q') +# Trouble in like-unlike-test.lua around line 10 +ok 5 - ok - like(' sat', '%s+sat') +ok 6 - ok - like('934', '%d%d%d') +ok 7 - ok - like('934', '%d%d') +not ok 8 - not ok - like('934', '%d%s') +# Trouble in like-unlike-test.lua around line 14 +ok 9 - ok - unlike('934', '%d%s') +1..9 diff --git a/tests/config/tapered/test/like-unlike-test.lua b/tests/config/tapered/test/like-unlike-test.lua new file mode 100755 index 0000000..ab48ca7 --- /dev/null +++ b/tests/config/tapered/test/like-unlike-test.lua @@ -0,0 +1,16 @@ +package.path = '../src/?.lua;' .. package.path +local tap = require 'tapered' + +--- like and unlike +-- like(string, pattern, [msg]) tests if the pattern matches the string +-- unlike(string, pattern, [msg]) tests if the pattern does not match the string +tap.like('sat', 'sat', "ok - like('sat', 'sat')") +tap.like('sat', 'bbb', "not ok - like('sat', 'bbb')") +tap.unlike('sat', 'q', "ok - unlike('sat', 'q')") +tap.unlike('q', 'q', "not ok - unlike('q', 'q')") +tap.like(' sat', '%s+sat', "ok - like(' sat', '%s+sat')") +tap.like('934', '%d%d%d', "ok - like('934', '%d%d%d')") +tap.like('934', '%d%d', "ok - like('934', '%d%d')") +tap.like('934', '%d%s', "not ok - like('934', '%d%s')") +tap.unlike('934', '%d%s', "ok - unlike('934', '%d%s')") +tap.done() diff --git a/tests/config/tapered/test/ok-nok-result.txt b/tests/config/tapered/test/ok-nok-result.txt new file mode 100644 index 0000000..ef45c6a --- /dev/null +++ b/tests/config/tapered/test/ok-nok-result.txt @@ -0,0 +1,7 @@ +ok 1 - ok - ok(true) +not ok 2 - not ok - ok(false) +# Trouble in ok-nok-test.lua around line 8 +ok 3 - ok - nok(false) +not ok 4 - not ok - nok(true) +# Trouble in ok-nok-test.lua around line 10 +1..4 diff --git a/tests/config/tapered/test/ok-nok-test.lua b/tests/config/tapered/test/ok-nok-test.lua new file mode 100755 index 0000000..c2a0b4d --- /dev/null +++ b/tests/config/tapered/test/ok-nok-test.lua @@ -0,0 +1,11 @@ +package.path = '../src/?.lua;' .. package.path +local tap = require 'tapered' + +--- ok and nok +-- ok(exp, [msg]) tests if exp returns (or is) a truthy value. +-- nok(exp, [msg]) tests if exp returns (or is) a falsey value. +tap.ok(true, 'ok - ok(true)') +tap.ok(false, 'not ok - ok(false)') +tap.nok(false, 'ok - nok(false)') +tap.nok(true, 'not ok - nok(true)') +tap.done() diff --git a/tests/config/tapered/test/pass-fail-result.txt b/tests/config/tapered/test/pass-fail-result.txt new file mode 100644 index 0000000..8c29e66 --- /dev/null +++ b/tests/config/tapered/test/pass-fail-result.txt @@ -0,0 +1,4 @@ +ok 1 - ok - No test: just pass +not ok 2 - not ok - No test: just fail +# Trouble in pass-fail-test.lua around line 10 +1..2 diff --git a/tests/config/tapered/test/pass-fail-test.lua b/tests/config/tapered/test/pass-fail-test.lua new file mode 100755 index 0000000..0f2418a --- /dev/null +++ b/tests/config/tapered/test/pass-fail-test.lua @@ -0,0 +1,11 @@ +package.path = '../src/?.lua;' .. package.path +local tap = require 'tapered' + +--- pass and fail +-- pass([msg]) is not a test. It always passes. +-- fail([msg]) is not a test. It always fails. +-- These two methods are useful for checking the basic setup of a test suite. +-- Also, pass can be used as a quasi-skip and fail as a quasi-TODO. +tap.pass('ok - No test: just pass') +tap.fail('not ok - No test: just fail') +tap.done() diff --git a/tests/config/tapered/test/result_test03.txt b/tests/config/tapered/test/result_test03.txt new file mode 100644 index 0000000..58c066c --- /dev/null +++ b/tests/config/tapered/test/result_test03.txt @@ -0,0 +1,55 @@ +ok 1 - Test ok on true +not ok 2 - Test ok on false +# Trouble in test03-allfuncs.lua around line 9 +ok 3 - Test nok on false +not ok 4 - Test nok on true +# Trouble in test03-allfuncs.lua around line 11 +ok 5 - Test is on 2 + 1 = 3 +not ok 6 - Test is on 2 + 2 = 3 +# Trouble in test03-allfuncs.lua around line 17 +ok 7 - Test isnt on 2 + 2 = 3 +not ok 8 - Test isnt on 2 + 2 = 4 +# Trouble in test03-allfuncs.lua around line 19 +ok 9 - Test same on two empty tables +ok 10 - Test same on two identical, simple tables +not ok 11 - Test same on two simple non-identical tables +# Trouble in test03-allfuncs.lua around line 36 +ok 12 - Test same on two identical, nested tables +ok 13 - Test same on identical, array-like tables +not ok 14 - Test same on two non-identical, array-like tables +# Trouble in test03-allfuncs.lua around line 43 +ok 15 - Test same on two identical, hash-like tables +not ok 16 - Test same on two non-identical, hash-like tables +# Trouble in test03-allfuncs.lua around line 65 +ok 17 - Test same on two identical tables with functions as values +not ok 18 - Test same on two non-identical tables with functions as values +# Trouble in test03-allfuncs.lua around line 74 +ok 19 - Test same on two dissimilar tables that share .__eq => true +not ok 20 - Test same: first table .__eq => true, second => false +# Trouble in test03-allfuncs.lua around line 89 +not ok 21 - Test same: first table .__eq => false, second => true +# Trouble in test03-allfuncs.lua around line 90 +not ok 22 - Test same on two similar tables where first .__eq => true +# Trouble in test03-allfuncs.lua around line 91 +not ok 23 - Test same on two similar tables where second .__eq => true +# Trouble in test03-allfuncs.lua around line 92 +ok 24 - Test like with string 'sat' and pattern 'sat' +not ok 25 - Test like with string 'sat' and pattern 'bbb' +# Trouble in test03-allfuncs.lua around line 98 +ok 26 - Test unlike with string 'sat' and pattern 'q' +not ok 27 - Test unlike with string 'q' and pattern 'q' +# Trouble in test03-allfuncs.lua around line 100 +ok 28 - Test like with string ' sat' and pattern '%s+sat' +ok 29 - Test like with string '934' and pattern '%d%d%d' +ok 30 - Test like with string '934' and pattern '%d%d' +ok 31 - Test unlike with string '934' and pattern '%d%s' +ok 32 - No test: just pass +not ok 33 - No test: just fail +# Trouble in test03-allfuncs.lua around line 112 +not ok 34 - Test boom with a method that throws no exception +# Trouble in test03-allfuncs.lua around line 123 +ok 35 - Test boom with a method that throws an exception "Kaboom!" +# Got this error: +# Kaboom! +1..35 +# Bad plan. You planned 43 tests but ran 35 diff --git a/tests/config/tapered/test/runner.bash b/tests/config/tapered/test/runner.bash new file mode 100755 index 0000000..f7f38fc --- /dev/null +++ b/tests/config/tapered/test/runner.bash @@ -0,0 +1,71 @@ +#!/usr/bin/env bats + +@test "ignition!" { + run true + [ "$status" -eq 0 ] + [ "$output" = "" ] +} + +@test "ok and nok" { + run lua -lluacov ok-nok-test.lua + [ "$status" -eq 2 ] + [ "$output" = "$(cat ok-nok-result.txt)" ] +} + +@test "is and isnt" { + run lua -lluacov is-isnt-test.lua + [ "$status" -eq 13 ] + [ "$output" = "$(cat is-isnt-result.txt)" ] +} + +@test "same" { + run lua -lluacov same-test.lua + [ "$status" -eq 10 ] + [ "$output" = "$(cat same-result.txt)" ] +} + +@test "like and unlike" { + run lua -lluacov like-unlike-test.lua + [ "$status" -eq 3 ] + [ "$output" = "$(cat like-unlike-result.txt)" ] +} + +@test "pass and fail" { + run lua -lluacov pass-fail-test.lua + [ "$status" -eq 1 ] + [ "$output" = "$(cat pass-fail-result.txt)" ] +} + +@test "boom" { + run lua -lluacov boom-test.lua + [ "$status" -eq 1 ] + # This is foul, but choices are limited. Error messages for Lua 5.3 + # are different, so I need to look at the output but NOT the errors. + [ "$(grep -v '^#' <<< "$output")" = "$(cat boom-result.txt | grep -v '^#')" ] +} + +@test "done success" { + run lua -lluacov done-success-test.lua + [ "$status" -eq 0 ] + [ "$output" = "$(cat done-success-result.txt)" ] +} + +@test "done failure" { + run lua -lluacov done-failure-test.lua + [ "$status" -eq 1 ] + [ "$output" = "$(cat done-failure-result.txt)" ] +} + +@test "exit status" { + run lua -lluacov exit-success-test.lua + [ "$status" -eq 0 ] + + run lua -lluacov exit-failure-test.lua + [ "$status" -eq 1 ] +} + +@test "informational fields" { + run lua -lluacov informational-fields-test.lua + [ "$status" -eq 0 ] + [ "$output" = "$(cat informational-fields-result.txt)" ] +} diff --git a/tests/config/tapered/test/same-result.txt b/tests/config/tapered/test/same-result.txt new file mode 100644 index 0000000..c77a5a4 --- /dev/null +++ b/tests/config/tapered/test/same-result.txt @@ -0,0 +1,31 @@ +ok 1 - ok - same({}, {} +ok 2 - ok - same({1,2,3}, {1,2,3}) +not ok 3 - not ok - same({1}, {}) +# Trouble in same-test.lua around line 7 +ok 4 - ok - same({{1}, 2, {3,4}}, {{1}, 2, {3,4}) +ok 5 - ok - same({"Monday", "Tuesday"}, {"Monday", "Tuesday"}) +not ok 6 - not ok - same({"Monday", "Tuesday"}, {"Monday", "Tuesday", "Wednesday"}) +# Trouble in same-test.lua around line 15 +ok 7 - ok - same({Monday = 1}, {Monday = 1}) +not ok 8 - not ok - same({Monday = 1}, {Monday = 1, Tuesday = 2}) +# Trouble in same-test.lua around line 29 +ok 9 - ok - same({m = {1,2}, n = {1,2}}, {m = {1,2}, n = {1,2}}) +not ok 10 - not ok - same({m = {1,2}, n = {1,2}}, {m = {1,2}, n = {1,2,3}}) +# Trouble in same-test.lua around line 36 +not ok 11 - not ok - same({m = {1,2}, n = {1,2,3}}, {m = {1,2}, n = {1,2}}) +# Trouble in same-test.lua around line 37 +ok 12 - ok - same({p = print, a = assert}, {p = print, a = assert}) +not ok 13 - not ok - same({p = print, a = assert}, {p = print, a = assert, e = error}) +# Trouble in same-test.lua around line 44 +ok 14 - ok - same({4, s=4}, {6, s=4},__eq => x[s] and y[s] are even) +ok 15 - ok - same({6, s=8}, {4, s=4},__eq => x[s] and y[s] are even) +not ok 16 - not ok - same({4, s=4}, {4, s=3},__eq => x[s] and y[s] are even) +# Trouble in same-test.lua around line 61 +not ok 17 - not ok - same({4, s=4}, {4, s=3},__eq => x[s] and y[s] are even) +# Trouble in same-test.lua around line 63 +not ok 18 - not ok - same({4, s=4}, {6, s=4},__eq => x[s] is even, y[s] odd) +# Trouble in same-test.lua around line 68 +ok 19 - ok - same({4, s=4}, {4, s=3},__eq => x[s] is even, y[s] odd) +not ok 20 - not ok - same({4, s=3}, {4, s=4},__eq => x[s] is even, y[s] odd) +# Trouble in same-test.lua around line 72 +1..20 diff --git a/tests/config/tapered/test/same-test.lua b/tests/config/tapered/test/same-test.lua new file mode 100644 index 0000000..68c3574 --- /dev/null +++ b/tests/config/tapered/test/same-test.lua @@ -0,0 +1,74 @@ +package.path = '../src/?.lua;' .. package.path +local tap = require 'tapered' +-- luacheck: compat + +tap.same({},{}, 'ok - same({}, {}') +tap.same({1,2,3}, {1,2,3}, 'ok - same({1,2,3}, {1,2,3})') +tap.same({1},{}, 'not ok - same({1}, {})') +tap.same({{1}, 2, {3,4}},{{1}, 2, {3,4}}, + 'ok - same({{1}, 2, {3,4}}, {{1}, 2, {3,4})') + +local days1 = { 'Monday', 'Tuesday' } +local days2 = { 'Monday', 'Tuesday' } +tap.same(days1, days2, 'ok - same({"Monday", "Tuesday"}, {"Monday", "Tuesday"})') +local days3 = { 'Monday', 'Tuesday', 'Wednesday', } +tap.same(days2, days3, + 'not ok - same({"Monday", "Tuesday"}, {"Monday", "Tuesday", "Wednesday"})') + +local hash1 = { + Monday = 1, +} +local hash2 = { + Monday = 1, +} +local hash3 = { + Monday = 1, + Tuesday = 2, +} +tap.same(hash1, hash2, 'ok - same({Monday = 1}, {Monday = 1})') +tap.same(hash1, hash3, + 'not ok - same({Monday = 1}, {Monday = 1, Tuesday = 2})') + +local n1 = { m = { 1, 2 }, n = { 1, 2 } } +local n2 = { m = { 1, 2 }, n = { 1, 2 } } +local n3 = { m = { 1, 2 }, n = { 1, 2, 3 } } +tap.same(n1, n2, 'ok - same({m = {1,2}, n = {1,2}}, {m = {1,2}, n = {1,2}})') +tap.same(n1, n3, 'not ok - same({m = {1,2}, n = {1,2}}, {m = {1,2}, n = {1,2,3}})') +tap.same(n3, n1, 'not ok - same({m = {1,2}, n = {1,2,3}}, {m = {1,2}, n = {1,2}})') + +local method_table1 = { p = print, a = assert } +local method_table2 = { p = print, a = assert } +local method_table3 = { p = print, a = assert, e = error } +tap.same(method_table1, method_table2, + 'ok - same({p = print, a = assert}, {p = print, a = assert})') +tap.same(method_table1, method_table3, + 'not ok - same({p = print, a = assert}, {p = print, a = assert, e = error})') + +local foo = {4, s = 4} +local bar = {6, s = 8} +local oof = {4, s = 3} +local mt1 = {} +local mt2 = {} +local evens = function (x, y) return x['s'] % 2 == 0 and y['s'] % 2 == 0 end +local even_odd = function (x, y) return x['s'] % 2 == 0 and y['s'] % 2 ~= 0 end +mt1.__eq = evens +mt2.__eq = even_odd +setmetatable(foo, mt1) +setmetatable(bar, mt1) +setmetatable(oof, mt1) +tap.same(foo, bar, 'ok - same({4, s=4}, {6, s=4},__eq => x[s] and y[s] are even)') +tap.same(bar, foo, 'ok - same({6, s=8}, {4, s=4},__eq => x[s] and y[s] are even)') +tap.same(foo, oof, + 'not ok - same({4, s=4}, {4, s=3},__eq => x[s] and y[s] are even)') +tap.same(oof, foo, + 'not ok - same({4, s=4}, {4, s=3},__eq => x[s] and y[s] are even)') +setmetatable(foo, mt2) +setmetatable(bar, mt2) +setmetatable(oof, mt2) +tap.same(foo, bar, + 'not ok - same({4, s=4}, {6, s=4},__eq => x[s] is even, y[s] odd)') +tap.same(foo, oof, + 'ok - same({4, s=4}, {4, s=3},__eq => x[s] is even, y[s] odd)') +tap.same(oof, foo, + 'not ok - same({4, s=3}, {4, s=4},__eq => x[s] is even, y[s] odd)') +tap.done() diff --git a/tests/config/tapered/test/setup-teardown-result.txt b/tests/config/tapered/test/setup-teardown-result.txt new file mode 100644 index 0000000..c5d5668 --- /dev/null +++ b/tests/config/tapered/test/setup-teardown-result.txt @@ -0,0 +1,4 @@ +# I'm a little teapot. +ok 1 - Short and stout. +# Here is my handle, and here is my spout. +1..1 diff --git a/tests/config/tapered/test/setup-teardown-test.lua b/tests/config/tapered/test/setup-teardown-test.lua new file mode 100755 index 0000000..974a4aa --- /dev/null +++ b/tests/config/tapered/test/setup-teardown-test.lua @@ -0,0 +1,14 @@ +package.path = '../src/?.lua;' .. package.path +local tap = require 'tapered' + +-- luacheck: globals setup teardown +function setup() + print("# I'm a little teapot.") +end + +function teardown() + print("# Here is my handle, and here is my spout.") +end + +tap.ok(true, "Short and stout.") +tap.done() |