about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/interpreters/lua-5
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/interpreters/lua-5')
-rw-r--r--nixpkgs/pkgs/development/interpreters/lua-5/build-luarocks-package.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/lua-5/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/lua-5/tests/assert.sh11
-rw-r--r--nixpkgs/pkgs/development/interpreters/lua-5/tests/default.nix26
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
+    '');
+})