diff options
Diffstat (limited to 'nixpkgs/pkgs/development/interpreters/lua-5')
4 files changed, 32 insertions, 11 deletions
diff --git a/nixpkgs/pkgs/development/interpreters/lua-5/build-luarocks-package.nix b/nixpkgs/pkgs/development/interpreters/lua-5/build-luarocks-package.nix index c388d0eef8c1..ea46fd107980 100644 --- a/nixpkgs/pkgs/development/interpreters/lua-5/build-luarocks-package.nix +++ b/nixpkgs/pkgs/development/interpreters/lua-5/build-luarocks-package.nix @@ -57,8 +57,6 @@ # relative to srcRoot, path to the rockspec to use when using rocks , rockspecFilename ? null -# relative to srcRoot, path to folder that contains the expected rockspec -, rockspecDir ? "." # must be set for packages that don't have a rock , knownRockspec ? null @@ -87,7 +85,7 @@ let LUAROCKS_CONFIG = self.configFile; } // attrs.env or {}; - generatedRockspecFilename = "${rockspecDir}/${pname}-${rockspecVersion}.rockspec"; + generatedRockspecFilename = "./${self.pname}-${self.rockspecVersion}.rockspec"; nativeBuildInputs = [ wrapLua diff --git a/nixpkgs/pkgs/development/interpreters/lua-5/default.nix b/nixpkgs/pkgs/development/interpreters/lua-5/default.nix index ce91b024ce84..bbd93c725f73 100644 --- a/nixpkgs/pkgs/development/interpreters/lua-5/default.nix +++ b/nixpkgs/pkgs/development/interpreters/lua-5/default.nix @@ -71,7 +71,7 @@ let inherit executable luaversion; luaOnBuild = luaOnBuildForHost.override { inherit packageOverrides; self = luaOnBuild; }; - tests = callPackage ./tests { inherit (luaPackages) wrapLua; }; + tests = callPackage ./tests { lua = self; inherit (luaPackages) wrapLua; }; inherit luaAttr; }; diff --git a/nixpkgs/pkgs/development/interpreters/lua-5/tests/assert.sh b/nixpkgs/pkgs/development/interpreters/lua-5/tests/assert.sh index fe5582a0b062..c5783a24b2d7 100644 --- a/nixpkgs/pkgs/development/interpreters/lua-5/tests/assert.sh +++ b/nixpkgs/pkgs/development/interpreters/lua-5/tests/assert.sh @@ -8,9 +8,14 @@ function fail() { } -function assertStringEqual { - +function assertStringEqual() { if ! diff <(echo "$1") <(echo "$2") ; then - fail "Strings differ" + fail "expected \"$1\" to be equal to \"$2\"" + fi +} + +function assertStringContains() { + if ! echo "$1" | grep -q "$2" ; then + fail "expected \"$1\" to contain \"$2\"" fi } diff --git a/nixpkgs/pkgs/development/interpreters/lua-5/tests/default.nix b/nixpkgs/pkgs/development/interpreters/lua-5/tests/default.nix index 38479af5f207..7351fb7cd6f4 100644 --- a/nixpkgs/pkgs/development/interpreters/lua-5/tests/default.nix +++ b/nixpkgs/pkgs/development/interpreters/lua-5/tests/default.nix @@ -8,7 +8,7 @@ let runTest = lua: { name, command }: - pkgs.runCommandLocal "test-${lua.name}" ({ + pkgs.runCommandLocal "test-${lua.name}-${name}" ({ nativeBuildInputs = [lua]; meta.platforms = lua.meta.platforms; }) ('' @@ -27,6 +27,10 @@ let wrapLuaPrograms ''; }); + + luaWithModule = lua.withPackages(ps: [ + ps.lua-cjson + ]); in pkgs.recurseIntoAttrs ({ @@ -36,15 +40,29 @@ in generated=$(lua -e 'print(package.path)') golden_LUA_PATH='./share/lua/${lua.luaversion}/?.lua;./?.lua;./?/init.lua' - assertStringEqual "$generated" "$golden_LUA_PATH" + assertStringContains "$generated" "$golden_LUA_PATH" ''; }; - checkWrapping = pkgs.runCommandLocal "test-${lua.name}" ({ + checkWrapping = pkgs.runCommandLocal "test-${lua.name}-wrapping" ({ }) ('' grep -- 'LUA_PATH=' ${wrappedHello}/bin/hello touch $out ''); -}) + checkRelativeImports = pkgs.runCommandLocal "test-${lua.name}-relative-imports" ({ + }) ('' + source ${./assert.sh} + + lua_vanilla_package_path="$(${lua}/bin/lua -e "print(package.path)")" + lua_with_module_package_path="$(${luaWithModule}/bin/lua -e "print(package.path)")" + assertStringContains "$lua_vanilla_package_path" "./?.lua" + assertStringContains "$lua_vanilla_package_path" "./?/init.lua" + + assertStringContains "$lua_with_module_package_path" "./?.lua" + assertStringContains "$lua_with_module_package_path" "./?/init.lua" + + touch $out + ''); +}) |