diff --git a/bins/argon/tests/input.project.json b/bins/argon/tests/input.project.json new file mode 100644 index 0000000..318bf32 --- /dev/null +++ b/bins/argon/tests/input.project.json @@ -0,0 +1,6 @@ +{ + "name": "good-input", + "tree": { + "$path": "../" + } +} \ No newline at end of file diff --git a/bins/argon/tests/run.luau b/bins/argon/tests/run.luau new file mode 100644 index 0000000..99568df --- /dev/null +++ b/bins/argon/tests/run.luau @@ -0,0 +1,12 @@ +local toolchainlib = require("../lune_packages/core") +local process = require("@lune/process") +local fs = require("@lune/fs") + +return function(version) + -- not working, needing support + -- process.args = { "sourcemap", "bins/argon/tests/input.project.json", "--output bins/argon/tests/output/sourcemap.json" } + local success, err = pcall(require, "bins/argon/init.luau") + assert(success, `failed to execute argon: {err}`) + + assert(fs.isFile("bins/argon/tests/output/sourcemap.luau"), `output not found`) +end diff --git a/bins/asphalt/tests/asphalt.toml b/bins/asphalt/tests/asphalt.toml new file mode 100644 index 0000000..eac4a5d --- /dev/null +++ b/bins/asphalt/tests/asphalt.toml @@ -0,0 +1,10 @@ +[inputs.assets] +path = "input/**" +output_path = "output" + +[creator] +type = "user" +id = 0 + +[codegen] +output_name = "init.luau" \ No newline at end of file diff --git a/bins/asphalt/tests/input/water_normal_map.png b/bins/asphalt/tests/input/water_normal_map.png new file mode 100644 index 0000000..db9ab4b Binary files /dev/null and b/bins/asphalt/tests/input/water_normal_map.png differ diff --git a/bins/asphalt/tests/run.luau b/bins/asphalt/tests/run.luau new file mode 100644 index 0000000..0e4212a --- /dev/null +++ b/bins/asphalt/tests/run.luau @@ -0,0 +1,13 @@ +local toolchainlib = require("../lune_packages/core") +local process = require("@lune/process") +local fs = require("@lune/fs") + +return function(version) + -- not working, needing support + -- process.cwd = "bins/asphalt" -- bcuz asphalt.toml must to be in the same directory + -- process.args = { "sync", "--target debug" } + local success, err = pcall(require, "bins/asphalt/init.luau") + assert(success, `failed to execute asphalt: {err}`) + + assert(fs.isFile("bins/asphalt/tests/output/water_normal_map.png"), "uploaded asset not found") +end diff --git a/bins/blink/tests/input.blink b/bins/blink/tests/input.blink new file mode 100644 index 0000000..abb487d --- /dev/null +++ b/bins/blink/tests/input.blink @@ -0,0 +1,9 @@ +option ClientOutput = "test/output/client.luau" +option ServerOutput = "test/output/server.luau" + +event MyFirstEvent { + from: Server, + type: Reliable, + call: SingleSync, + data: string +} \ No newline at end of file diff --git a/bins/blink/tests/run.luau b/bins/blink/tests/run.luau new file mode 100644 index 0000000..9e9cce3 --- /dev/null +++ b/bins/blink/tests/run.luau @@ -0,0 +1,16 @@ +local toolchainlib = require("../lune_packages/core") +local process = require("@lune/process") +local fs = require("@lune/fs") + +return function(version) + -- not working, needing support + -- process.args = { "bins/blink/tests/input.blink" } + local success, err = pcall(require, "bins/blink/init.luau") + assert(success, `failed to execute blink: {err}`) + + local client_signature = `\n-- File generated by Blink v{version}` + assert(fs.readFile("bins/blink/tests/output/client.luau"):match(client_signature), `invalid output`) + + local server_signature = `\n-- File generated by Blink v{version}` + assert(fs.readFile("bins/blink/tests/output/server.luau"):match(server_signature), `invalid output`) +end diff --git a/bins/darklua/tests/input.luau b/bins/darklua/tests/input.luau new file mode 100644 index 0000000..a75a69a --- /dev/null +++ b/bins/darklua/tests/input.luau @@ -0,0 +1,8 @@ +opt server_output = "tests/output/server.luau" +opt client_output = "tests/output/client.luau" + +funct Test = { + call: Async, + args: (Foo: u8, Bar: string), + rets: enum { Success, Fail } +} diff --git a/bins/darklua/tests/run.luau b/bins/darklua/tests/run.luau new file mode 100644 index 0000000..45b9dec --- /dev/null +++ b/bins/darklua/tests/run.luau @@ -0,0 +1,16 @@ +local toolchainlib = require("../lune_packages/core") +local process = require("@lune/process") +local fs = require("@lune/fs") + +return function(version) + -- not working, needing support + -- process.args = { "bins/zap/tests/input.zap" } + local success, err = pcall(require, "bins/blink/init.luau") + assert(success, `failed to execute blink: {err}`) + + local client_signature = `\n-- Client generated by Zap v{version} (https://github.com/red-blox/zap)` + assert(fs.readFile("tests/output/client.luau"):match(client_signature), `invalid output`) + + local server_signature = `\n-- Server generated by Zap v{version} (https://github.com/red-blox/zap)` + assert(fs.readFile("tests/output/server.luau"):match(server_signature), `invalid output`) +end diff --git a/bins/luau-lsp/tests/input.luau b/bins/luau-lsp/tests/input.luau new file mode 100644 index 0000000..0a36ff2 --- /dev/null +++ b/bins/luau-lsp/tests/input.luau @@ -0,0 +1 @@ +local a: string = 1 diff --git a/bins/luau-lsp/tests/run.luau b/bins/luau-lsp/tests/run.luau new file mode 100644 index 0000000..bc4ad64 --- /dev/null +++ b/bins/luau-lsp/tests/run.luau @@ -0,0 +1,15 @@ +local toolchainlib = require("../lune_packages/core") +local process = require("@lune/process") +local fs = require("@lune/fs") + +return function(version) + -- not working, needing support + -- process.args = { "process bins/darklua/tests/input.luau bins/darklua/tests/output.luau" --format dense } + local success, result = pcall(require, "bins/darklua/init.luau") + assert(success, `failed to execute darklua: {result}`) + + assert( + fs.readFile("bins/darklua/tests/output.luau") ~= fs.readFile("bins/darklua/tests/input.luau"), + `any expected error was found: {result}` + ) +end diff --git a/bins/rojo/tests/input.project.json b/bins/rojo/tests/input.project.json new file mode 100644 index 0000000..318bf32 --- /dev/null +++ b/bins/rojo/tests/input.project.json @@ -0,0 +1,6 @@ +{ + "name": "good-input", + "tree": { + "$path": "../" + } +} \ No newline at end of file diff --git a/bins/rojo/tests/run.luau b/bins/rojo/tests/run.luau new file mode 100644 index 0000000..3fbbca4 --- /dev/null +++ b/bins/rojo/tests/run.luau @@ -0,0 +1,12 @@ +local toolchainlib = require("../lune_packages/core") +local process = require("@lune/process") +local fs = require("@lune/fs") + +return function(version) + -- not working, needing support + -- process.args = { "sourcemap", "bins/rojo/tests/input.project.json", "--output bins/rojo/tests/output/sourcemap.json" } + local success, err = pcall(require, "bins/rojo/init.luau") + assert(success, `failed to execute rojo: {err}`) + + assert(fs.isFile("bins/rojo/tests/output/sourcemap.luau"), `output not found`) +end diff --git a/bins/selene/tests/bad_input.luau b/bins/selene/tests/bad_input.luau new file mode 100644 index 0000000..52f76b0 --- /dev/null +++ b/bins/selene/tests/bad_input.luau @@ -0,0 +1,3 @@ +if {} == {} then + error("impossible") +end diff --git a/bins/selene/tests/good_input.luau b/bins/selene/tests/good_input.luau new file mode 100644 index 0000000..2f082ee --- /dev/null +++ b/bins/selene/tests/good_input.luau @@ -0,0 +1,3 @@ +if 1 == 1 then + print("always true") +end diff --git a/bins/selene/tests/run.luau b/bins/selene/tests/run.luau new file mode 100644 index 0000000..96cd3ee --- /dev/null +++ b/bins/selene/tests/run.luau @@ -0,0 +1,28 @@ +local toolchainlib = require("../lune_packages/core") +local process = require("@lune/process") + +return function(version) + do + -- not working, needing support + -- process.args = { "bins/selene/tests/bad_input.luau" } + local success, result = pcall(require, "bins/selene/init.luau") + assert(success, `failed to execute selene: {result}`) + + assert( + string.find(result, "%d warnings") or string.find(result, "%d errors"), + `any expected error was found: {result}` + ) + end + + do + -- not working, needing support + -- process.args = { "bins/selene/tests/good_input.luau" } + local success, result = pcall(require, "bins/selene/init.luau") + assert(success, `failed to execute selene: {result}`) + + assert( + string.find(result, "0 warnings") or string.find(result, "0 errors"), + `a unexpected error was found: {result}` + ) + end +end diff --git a/bins/stylua/tests/bad_input.luau b/bins/stylua/tests/bad_input.luau new file mode 100644 index 0000000..ed9997c --- /dev/null +++ b/bins/stylua/tests/bad_input.luau @@ -0,0 +1 @@ + local a = 5 diff --git a/bins/stylua/tests/good_input.luau b/bins/stylua/tests/good_input.luau new file mode 100644 index 0000000..2a28ef9 --- /dev/null +++ b/bins/stylua/tests/good_input.luau @@ -0,0 +1 @@ +local a = 5 diff --git a/bins/stylua/tests/run.luau b/bins/stylua/tests/run.luau new file mode 100644 index 0000000..fbcff48 --- /dev/null +++ b/bins/stylua/tests/run.luau @@ -0,0 +1,22 @@ +local toolchainlib = require("../lune_packages/core") +local process = require("@lune/process") + +return function(version) + do + -- not working, needing support + -- process.args = { "--check bins/stylua/tests/bad_input.luau", "--output-format summary" } + local success, result = pcall(require, "bins/stylua/init.luau") + assert(success, `failed to execute stylua: {result}`) + + assert(string.find(result, "Code style issues found"), `any expected error was found: {result}`) + end + + do + -- not working, needing support + -- process.args = { "--check bins/stylua/tests/good_input.luau", "--output-format summary" } + local success, result = pcall(require, "bins/stylua/init.luau") + assert(success, `failed to execute stylua: {result}`) + + assert(string.find(result, "All files are correctly formatted."), `a unexpected error was found: {result}`) + end +end diff --git a/bins/zap/tests/run.luau b/bins/zap/tests/run.luau index 6fb04b0..6416dce 100644 --- a/bins/zap/tests/run.luau +++ b/bins/zap/tests/run.luau @@ -3,11 +3,14 @@ local process = require("@lune/process") local fs = require("@lune/fs") return function(version) --- process.args = { "bins/zap/tests/input.zap" } -local success, err = pcall(require, "bins/zap/init.luau") + -- not working, needing support + -- process.args = { "bins/zap/tests/input.zap" } + local success, err = pcall(require, "bins/zap/init.luau") + assert(success, `failed to execute zap: {err}`) -assert(success, `failed to execute zap: {err}`) + local client_signature = `\n-- Client generated by Zap v{version} (https://github.com/red-blox/zap)` + assert(fs.readFile("bins/zap/tests/output/client.luau"):match(client_signature), `invalid output`) -assert(fs.isFile("tests/output/client.luau"), `invalid output`) -assert(fs.isFile("tests/output/server.luau"), `invalid output`) + local server_signature = `\n-- Server generated by Zap v{version} (https://github.com/red-blox/zap)` + assert(fs.readFile("bins/zap/tests/output/server.luau"):match(server_signature), `invalid output`) end