diff options
Diffstat (limited to 'tests')
| -rwxr-xr-x | tests/modules/semver/test.lua | 119 | ||||
| -rwxr-xr-x | tests/projects/requires/src/main.c | 7 | ||||
| -rw-r--r-- | tests/projects/requires/test.lua | 10 | ||||
| -rw-r--r-- | tests/projects/requires/xmake.lua | 48 |
4 files changed, 184 insertions, 0 deletions
diff --git a/tests/modules/semver/test.lua b/tests/modules/semver/test.lua new file mode 100755 index 000000000..884eaf82e --- /dev/null +++ b/tests/modules/semver/test.lua @@ -0,0 +1,119 @@ +-- imports +import("core.base.semver") + +-- select version +function _check_semver_select(results, required_ver, versions, tags, branches) + + -- select it + local version, source = semver.select(required_ver, versions or {}, tags or {}, branches or {}) + if (version.version or version) ~= results[1] or source ~= results[2] then + print("semver.select(\"%s\", {\"%s\"}, {\"%s\"}, {\"%s\"})" + , required_ver + , table.concat(versions or {}, "\", \"") + , table.concat(tags or {}, "\", \"") + , table.concat(branches or {}, "\", \"")) + raise("{\"%s\", \"%s\"} != {\"%s\", \"%s\"}", version.version or version, source or "", results[1] or "", results[2] or "") + end +end + +-- test select version +function _test_semver_select() + + _check_semver_select({"1.5.1", "versions"} + , ">=1.5.0 <1.6.0" + , {"1.4.0", "1.5.0", "1.5.1"}) + + _check_semver_select({"1.5.1", "versions"} + , "^1.5.0" + ,{"1.4.0", "1.5.0", "1.5.1"}) + + _check_semver_select({"master", "branches"} + , "master" + , {"1.4.0", "1.5.0", "1.5.1"} + , {"v1.2.0", "v1.6.0"} + , {"master", "dev"}) + + print("semver.select: ok!") +end + +-- select version +function _check_semver_satisfies(expected, version, range) + + -- select it + local result = semver.satisfies(version, range) + if expected ~= result then + print("semver.satisfies(\"%s\", \"%s\")" + , version + , range) + raise("\"%s\" != \"%s\"", expected, result) + end +end + +-- test satisfies version +function _test_semver_satisfies() + + _check_semver_satisfies(true, "1.5.1", ">=1.5.0 <1.6.0") + _check_semver_satisfies(true, "1.5.1", "^1.5.0") + + print("semver.satisfies: ok!") +end + +-- parse version +function _check_semver_parse(version_str, major, minor, patch, prerelease, build) + + -- create it + local version = semver.parse(version_str) + + if version.major ~= major then + raise("major: \"%s\" != \"%s\"", version.major or "", major or "") + end + + if version.minor ~= minor then + raise("minor: \"%s\" != \"%s\"", version.minor or "", minor or "") + end + + if version.patch ~= patch then + raise("patch: \"%s\" != \"%s\"", version.patch or "", patch or "") + end + + if table.concat(version.prerelease or {}, ".") ~= table.concat(prerelease or {}, ".") then + raise("prerelease: \"%s\" != \"%s\"" + , table.concat(version.prerelease or {}, ".") or "" + , table.concat(prerelease or {}, ".") or "") + end + + if table.concat(version.build or {}, ".") ~= table.concat(build or {}, ".") then + raise("build: \"%s\" != \"%s\"" + , table.concat(version.build or {}, ".") or "" + , table.concat(build or {}, ".") or "") + end +end + +-- test parse version +function _test_semver_parse() + + _check_semver_parse("1.2.3", 1, 2, 3) + _check_semver_parse("1.2.3-beta", 1, 2, 3, {"beta"}) + _check_semver_parse("1.2.3-beta+77", 1, 2, 3, {"beta"}, {"77"}) + _check_semver_parse("v1.2.3-alpha.1+77", 1, 2, 3, {"alpha", "1"}, {"77"}) + _check_semver_parse("v3.2.1-alpha.1+77.foo", 3, 2, 1, {"alpha", "1"}, {"77", "foo"}) + + print("semver.parse: ok!") +end + +-- +-- run tests: +-- +-- $ make test name=semver +-- +function main() + + -- test semver + _test_semver_parse() + + -- test semver satisfies + _test_semver_satisfies() + + -- test select version + _test_semver_select() +end diff --git a/tests/projects/requires/src/main.c b/tests/projects/requires/src/main.c new file mode 100755 index 000000000..9ae580511 --- /dev/null +++ b/tests/projects/requires/src/main.c @@ -0,0 +1,7 @@ +#include <stdio.h> + +int main(int argc, char** argv) +{ + printf("hello world!\n"); + return 0; +} diff --git a/tests/projects/requires/test.lua b/tests/projects/requires/test.lua new file mode 100644 index 000000000..eacf35408 --- /dev/null +++ b/tests/projects/requires/test.lua @@ -0,0 +1,10 @@ +-- imports +import("..build") + +-- main entry +function main() + + -- TODO + -- build project +-- build() +end diff --git a/tests/projects/requires/xmake.lua b/tests/projects/requires/xmake.lua new file mode 100644 index 000000000..f96866d10 --- /dev/null +++ b/tests/projects/requires/xmake.lua @@ -0,0 +1,48 @@ +-- define package +package("mbedtls") + set_urls("https://github.com/ARMmbed/mbedtls.git") + add_requires("https://github.com/glennrp/libpng.git@libpng >=1.6.28") +package_end() + +-- group packages +package("zlib-mbedtls") + add_requires("zlib >=1.2.11") + add_requires("mbedtls master optional") +package_end() + +-- requires +add_requires("zlib-mbedtls") +add_requires("[email protected] >=1.5.1 <1.6.1 optional") + +-- the debug mode +if is_mode("debug") then + + -- enable the debug symbols + set_symbols("debug") + + -- disable optimization + set_optimize("none") +end + +-- the release mode +if is_mode("release") then + + -- set the symbols visibility: hidden + set_symbols("hidden") + + -- enable fastest optimization + set_optimize("fastest") + + -- strip all symbols + set_strip("all") +end + +-- add target +target("console_c") + + -- set kind + set_kind("binary") + + -- add files + add_files("src/*.c") + |
