diff options
| author | ruki <[email protected]> | 2026-06-16 23:51:03 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-06-16 23:51:03 +0800 |
| commit | dbe6b5b6f5a16e16c87964da6dad0cfdd825560d (patch) | |
| tree | 7bb08a6fb25fd32e184c4ccb612da87b9afaf444 /tests/modules | |
| parent | 151db560b3960f677f942357eae8ad3a574e79db (diff) | |
| parent | a63a03322c87be7978612a194995e767976f2bf9 (diff) | |
Merge pull request #7602 from Shiffted/memcache-fix
fix load package memcache
Diffstat (limited to 'tests/modules')
| -rw-r--r-- | tests/modules/package/load_from_repository/foo/xmake.lua | 3 | ||||
| -rw-r--r-- | tests/modules/package/load_from_repository/test.lua | 20 |
2 files changed, 23 insertions, 0 deletions
diff --git a/tests/modules/package/load_from_repository/foo/xmake.lua b/tests/modules/package/load_from_repository/foo/xmake.lua new file mode 100644 index 000000000..a96023b7f --- /dev/null +++ b/tests/modules/package/load_from_repository/foo/xmake.lua @@ -0,0 +1,3 @@ +package("foo") + add_defines("FOO_BASE") +package_end() diff --git a/tests/modules/package/load_from_repository/test.lua b/tests/modules/package/load_from_repository/test.lua new file mode 100644 index 000000000..7899175d8 --- /dev/null +++ b/tests/modules/package/load_from_repository/test.lua @@ -0,0 +1,20 @@ +import("core.package.package") + +function test_load_from_repository(t) + local packagedir = path.absolute("foo") + local foo1 = package.load_from_repository("foo", packagedir, {}) + local foo2 = package.load_from_repository("foo", packagedir, {}) + assert(foo1 and foo2, "load_from_repository(foo) failed!") + + t:require(table.contains(table.wrap(foo1:get("defines")), "FOO_BASE")) + t:require(table.contains(table.wrap(foo2:get("defines")), "FOO_BASE")) + + -- mutating one instance should not leak into the other + foo1:add("defines", "FOO_LEAK") + t:require(table.contains(table.wrap(foo1:get("defines")), "FOO_LEAK")) + t:require_not(table.contains(table.wrap(foo2:get("defines")), "FOO_LEAK")) + + foo1:set("foo_leak", false) + t:require(foo1:get("foo_leak") == false) + t:require_not(foo2:get("foo_leak") == false) +end |
