diff options
| author | Hisham Muhammad <hisham@gobolinux.org> | 2015-03-09 14:35:14 -0300 |
|---|---|---|
| committer | Hisham Muhammad <hisham@gobolinux.org> | 2015-03-09 14:35:14 -0300 |
| commit | 0f9d259ab3a59ae0f3ab3a2992dd371a368da5aa (patch) | |
| tree | a251978814d083d3ef55ede0787020c3735ce042 | |
| parent | 9a9caf8fd6edfb82284b7ec6edb2f460400b614c (diff) | |
| download | luarocks-0f9d259ab3a59ae0f3ab3a2992dd371a368da5aa.tar.gz luarocks-0f9d259ab3a59ae0f3ab3a2992dd371a368da5aa.tar.bz2 luarocks-0f9d259ab3a59ae0f3ab3a2992dd371a368da5aa.zip | |
Test success of patching in `unpack`. Closes #316.
Includes test cases for the test suite! Yay!
| -rw-r--r-- | src/luarocks/unpack.lua | 6 | ||||
| -rw-r--r-- | test/testfiles/invalid_patch-0.1-1.rockspec | 29 | ||||
| -rwxr-xr-x | test/testing.sh | 3 |
3 files changed, 36 insertions, 2 deletions
diff --git a/src/luarocks/unpack.lua b/src/luarocks/unpack.lua index 9204e265..a889bac5 100644 --- a/src/luarocks/unpack.lua +++ b/src/luarocks/unpack.lua | |||
| @@ -43,9 +43,10 @@ local function unpack_rockspec(rockspec_file, dir_name) | |||
| 43 | end | 43 | end |
| 44 | ok, err = fs.change_dir(sources_dir) | 44 | ok, err = fs.change_dir(sources_dir) |
| 45 | if not ok then return nil, err end | 45 | if not ok then return nil, err end |
| 46 | build.apply_patches(rockspec) | 46 | ok, err = build.apply_patches(rockspec) |
| 47 | fs.pop_dir() | 47 | fs.pop_dir() |
| 48 | fs.pop_dir() | 48 | fs.pop_dir() |
| 49 | if not ok then return nil, err end | ||
| 49 | return rockspec | 50 | return rockspec |
| 50 | end | 51 | end |
| 51 | 52 | ||
| @@ -79,8 +80,9 @@ local function unpack_rock(rock_file, dir_name, kind) | |||
| 79 | end | 80 | end |
| 80 | ok, err = fs.change_dir(rockspec.source.dir) | 81 | ok, err = fs.change_dir(rockspec.source.dir) |
| 81 | if not ok then return nil, err end | 82 | if not ok then return nil, err end |
| 82 | build.apply_patches(rockspec) | 83 | ok, err = build.apply_patches(rockspec) |
| 83 | fs.pop_dir() | 84 | fs.pop_dir() |
| 85 | if not ok then return nil, err end | ||
| 84 | end | 86 | end |
| 85 | end | 87 | end |
| 86 | return rockspec | 88 | return rockspec |
diff --git a/test/testfiles/invalid_patch-0.1-1.rockspec b/test/testfiles/invalid_patch-0.1-1.rockspec new file mode 100644 index 00000000..c2ecd160 --- /dev/null +++ b/test/testfiles/invalid_patch-0.1-1.rockspec | |||
| @@ -0,0 +1,29 @@ | |||
| 1 | package = "invalid_patch" | ||
| 2 | version = "0.1-1" | ||
| 3 | source = { | ||
| 4 | -- any valid URL | ||
| 5 | url = "https://raw.github.com/keplerproject/luarocks/master/src/luarocks/build.lua" | ||
| 6 | } | ||
| 7 | description = { | ||
| 8 | summary = "A rockspec with an invalid patch", | ||
| 9 | } | ||
| 10 | dependencies = { | ||
| 11 | "lua >= 5.1" | ||
| 12 | } | ||
| 13 | build = { | ||
| 14 | type = "builtin", | ||
| 15 | modules = { | ||
| 16 | build = "build.lua" | ||
| 17 | }, | ||
| 18 | patches = { | ||
| 19 | ["I_am_an_invalid_patch.patch"] = | ||
| 20 | [[ | ||
| 21 | diff -Naur luadoc-3.0.1/src/luadoc/doclet/html.lua luadoc-3.0.1-new/src/luadoc/doclet/html.lua | ||
| 22 | --- luadoc-3.0.1/src/luadoc/doclet/html.lua2007-12-21 15:50:48.000000000 -0200 | ||
| 23 | +++ luadoc-3.0.1-new/src/luadoc/doclet/html.lua2008-02-28 01:59:53.000000000 -0300 | ||
| 24 | @@ -18,6 +18,7 @@ | ||
| 25 | - gabba gabba gabba | ||
| 26 | + gobo gobo gobo | ||
| 27 | ]] | ||
| 28 | } | ||
| 29 | } | ||
diff --git a/test/testing.sh b/test/testing.sh index 5018abe0..b3c85191 100755 --- a/test/testing.sh +++ b/test/testing.sh | |||
| @@ -357,6 +357,7 @@ test_build_nohttps() { need_luasocket; $luarocks download --rockspec validate-ar | |||
| 357 | test_build_https() { need_luasocket; $luarocks download --rockspec validate-args ${verrev_validate_args} && $luarocks install $luasec && $luarocks build ./validate-args-${verrev_validate_args}.rockspec && rm ./validate-args-${verrev_validate_args}.rockspec; } | 357 | test_build_https() { need_luasocket; $luarocks download --rockspec validate-args ${verrev_validate_args} && $luarocks install $luasec && $luarocks build ./validate-args-${verrev_validate_args}.rockspec && rm ./validate-args-${verrev_validate_args}.rockspec; } |
| 358 | test_build_supported_platforms() { $luarocks build lpty; } | 358 | test_build_supported_platforms() { $luarocks build lpty; } |
| 359 | fail_build_missing_external() { $luarocks build "$testing_dir/testfiles/missing_external-0.1-1.rockspec" INEXISTENT_INCDIR="/invalid/dir"; } | 359 | fail_build_missing_external() { $luarocks build "$testing_dir/testfiles/missing_external-0.1-1.rockspec" INEXISTENT_INCDIR="/invalid/dir"; } |
| 360 | fail_build_invalidpatch() { need_luasocket; $luarocks build "$testing_dir/testfiles/invalid_patch-0.1-1.rockspec"; } | ||
| 360 | 361 | ||
| 361 | test_build_deps_partial_match() { $luarocks build lmathx; } | 362 | test_build_deps_partial_match() { $luarocks build lmathx; } |
| 362 | test_build_show_downloads() { export LUAROCKS_CONFIG="$testing_dir/testing_config_show_downloads.lua" && $luarocks build alien; export LUAROCKS_CONFIG="$testing_dir/testing_config.lua"; } | 363 | test_build_show_downloads() { export LUAROCKS_CONFIG="$testing_dir/testing_config_show_downloads.lua" && $luarocks build alien; export LUAROCKS_CONFIG="$testing_dir/testing_config.lua"; } |
| @@ -370,6 +371,7 @@ fail_help_invalid() { $luarocks help invalid; } | |||
| 370 | test_install_binaryrock() { $luarocks build --pack-binary-rock cprint && $luarocks install ./cprint-${verrev_cprint}.${platform}.rock && rm ./cprint-${verrev_cprint}.${platform}.rock; } | 371 | test_install_binaryrock() { $luarocks build --pack-binary-rock cprint && $luarocks install ./cprint-${verrev_cprint}.${platform}.rock && rm ./cprint-${verrev_cprint}.${platform}.rock; } |
| 371 | test_install_with_bin() { $luarocks install wsapi; } | 372 | test_install_with_bin() { $luarocks install wsapi; } |
| 372 | fail_install_notazipfile() { $luarocks install "$testing_dir/testfiles/not_a_zipfile-1.0-1.src.rock"; } | 373 | fail_install_notazipfile() { $luarocks install "$testing_dir/testfiles/not_a_zipfile-1.0-1.src.rock"; } |
| 374 | fail_install_invalidpatch() { need_luasocket; $luarocks install "$testing_dir/testfiles/invalid_patch-0.1-1.rockspec"; } | ||
| 373 | 375 | ||
| 374 | test_lint_ok() { $luarocks download --rockspec validate-args ${verrev_validate_args} && $luarocks lint ./validate-args-${verrev_validate_args}.rockspec && rm ./validate-args-${verrev_validate_args}.rockspec; } | 376 | test_lint_ok() { $luarocks download --rockspec validate-args ${verrev_validate_args} && $luarocks lint ./validate-args-${verrev_validate_args}.rockspec && rm ./validate-args-${verrev_validate_args}.rockspec; } |
| 375 | fail_lint_type_mismatch_string() { $luarocks lint "$testing_dir/testfiles/type_mismatch_string-1.0-1.rockspec"; } | 377 | fail_lint_type_mismatch_string() { $luarocks lint "$testing_dir/testfiles/type_mismatch_string-1.0-1.rockspec"; } |
| @@ -416,6 +418,7 @@ test_unpack_download() { rm -rf ./cprint-${verrev_cprint} && $luarocks unpack cp | |||
| 416 | test_unpack_src() { rm -rf ./cprint-${verrev_cprint} && $luarocks download --src cprint && $luarocks unpack ./cprint-${verrev_cprint}.src.rock && rm -rf ./cprint-${verrev_cprint}; } | 418 | test_unpack_src() { rm -rf ./cprint-${verrev_cprint} && $luarocks download --src cprint && $luarocks unpack ./cprint-${verrev_cprint}.src.rock && rm -rf ./cprint-${verrev_cprint}; } |
| 417 | test_unpack_rockspec() { rm -rf ./cprint-${verrev_cprint} && $luarocks download --rockspec cprint && $luarocks unpack ./cprint-${verrev_cprint}.rockspec && rm -rf ./cprint-${verrev_cprint}; } | 419 | test_unpack_rockspec() { rm -rf ./cprint-${verrev_cprint} && $luarocks download --rockspec cprint && $luarocks unpack ./cprint-${verrev_cprint}.rockspec && rm -rf ./cprint-${verrev_cprint}; } |
| 418 | test_unpack_binary() { rm -rf ./cprint-${verrev_cprint} && $luarocks build cprint && $luarocks pack cprint && $luarocks unpack ./cprint-${verrev_cprint}.${platform}.rock && rm -rf ./cprint-${verrev_cprint}; } | 420 | test_unpack_binary() { rm -rf ./cprint-${verrev_cprint} && $luarocks build cprint && $luarocks pack cprint && $luarocks unpack ./cprint-${verrev_cprint}.${platform}.rock && rm -rf ./cprint-${verrev_cprint}; } |
| 421 | fail_unpack_invalidpatch() { need_luasocket; $luarocks unpack "$testing_dir/testfiles/invalid_patch-0.1-1.rockspec"; } | ||
| 419 | 422 | ||
| 420 | test_admin_help() { $luarocks_admin help; } | 423 | test_admin_help() { $luarocks_admin help; } |
| 421 | 424 | ||
