aboutsummaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorHisham Muhammad <hisham@gobolinux.org>2024-03-13 15:42:33 -0300
committerHisham Muhammad <hisham@gobolinux.org>2024-03-13 19:08:05 +0000
commit84b55ad2186d3243bc6d1f7c449268d03ee02d4c (patch)
tree847df153c65867f4098ef71339445249c8d41f01 /spec
parent4117ad5045b310a7902edb6a78c1c1386ddeaea0 (diff)
downloadluarocks-84b55ad2186d3243bc6d1f7c449268d03ee02d4c.tar.gz
luarocks-84b55ad2186d3243bc6d1f7c449268d03ee02d4c.tar.bz2
luarocks-84b55ad2186d3243bc6d1f7c449268d03ee02d4c.zip
tests: convert some install tests
Diffstat (limited to 'spec')
-rw-r--r--spec/install_spec.lua26
-rw-r--r--spec/quick/install.q211
-rw-r--r--spec/util/quick.lua2
3 files changed, 212 insertions, 27 deletions
diff --git a/spec/install_spec.lua b/spec/install_spec.lua
index df70ed23..e6b1ad03 100644
--- a/spec/install_spec.lua
+++ b/spec/install_spec.lua
@@ -13,8 +13,6 @@ local extra_rocks = {
13 "/luassert-1.7.0-1.src.rock", 13 "/luassert-1.7.0-1.src.rock",
14 "/luasocket-${LUASOCKET}.src.rock", 14 "/luasocket-${LUASOCKET}.src.rock",
15 "/lxsh-${LXSH}.src.rock", 15 "/lxsh-${LXSH}.src.rock",
16 "/say-1.2-1.src.rock",
17 "/say-1.0-1.src.rock",
18 "/luafilesystem-${LUAFILESYSTEM}.src.rock", 16 "/luafilesystem-${LUAFILESYSTEM}.src.rock",
19 "/luafilesystem-${LUAFILESYSTEM_OLD}.src.rock", 17 "/luafilesystem-${LUAFILESYSTEM_OLD}.src.rock",
20 "spec/fixtures/a_repo/has_build_dep-1.0-1.all.rock", 18 "spec/fixtures/a_repo/has_build_dep-1.0-1.all.rock",
@@ -155,30 +153,6 @@ describe("luarocks install #integration", function()
155 end) 153 end)
156 end) 154 end)
157 155
158 describe("New install functionality based on pull request 552", function()
159 it("break dependencies warning", function()
160 assert.is_true(run.luarocks_bool("install say 1.2"))
161 assert.is_true(run.luarocks_bool("install luassert"))
162 assert.is_true(run.luarocks_bool("install say 1.0"))
163 assert.is.truthy(lfs.attributes(testing_paths.testing_sys_rocks .. "/say/1.2-1"))
164 end)
165 it("break dependencies force", function()
166 assert.is_true(run.luarocks_bool("install say 1.2"))
167 assert.is_true(run.luarocks_bool("install luassert"))
168 local output = run.luarocks("install --force say 1.0")
169 assert.is.truthy(output:find("Checking stability of dependencies"))
170 assert.is.falsy(lfs.attributes(testing_paths.testing_sys_rocks .. "/say/1.2-1"))
171 end)
172 it("break dependencies force fast", function()
173 assert.is_true(run.luarocks_bool("install say 1.2"))
174 assert.is_true(run.luarocks_bool("install luassert"))
175 assert.is.truthy(lfs.attributes(testing_paths.testing_sys_rocks .. "/say/1.2-1"))
176 local output = run.luarocks("install --force-fast say 1.0")
177 assert.is.falsy(output:find("Checking stability of dependencies"))
178 assert.is.truthy(lfs.attributes(testing_paths.testing_sys_rocks .. "/say/1.0-1"))
179 end)
180 end)
181
182 describe("#build_dependencies", function() 156 describe("#build_dependencies", function()
183 it("install does not install a build dependency", function() 157 it("install does not install a build dependency", function()
184 assert(run.luarocks_bool("install has_build_dep")) 158 assert(run.luarocks_bool("install has_build_dep"))
diff --git a/spec/quick/install.q b/spec/quick/install.q
index 31544470..e2df4283 100644
--- a/spec/quick/install.q
+++ b/spec/quick/install.q
@@ -475,3 +475,214 @@ RUN: luarocks install ./myrock-1.0-1.all.rock
475 475
476EXISTS: %{testing_sys_tree}/share/lua/%{lua_version}/folder/rock.lua 476EXISTS: %{testing_sys_tree}/share/lua/%{lua_version}/folder/rock.lua
477EXISTS: %{testing_sys_tree}/share/lua/%{lua_version}/xyz.lua 477EXISTS: %{testing_sys_tree}/share/lua/%{lua_version}/xyz.lua
478
479
480
481================================================================================
482TEST: new install functionality based on #552: break dependencies warning
483
484FILE: myrock-1.0-1.rockspec
485--------------------------------------------------------------------------------
486rockspec_format = "3.0"
487package = "myrock"
488version = "1.0-1"
489source = {
490 url = "file://%{url(%{tmpdir})}/rock.lua"
491}
492build = {
493 modules = { rock = "rock.lua" }
494}
495--------------------------------------------------------------------------------
496
497FILE: myrock-2.0-1.rockspec
498--------------------------------------------------------------------------------
499rockspec_format = "3.0"
500package = "myrock"
501version = "2.0-1"
502source = {
503 url = "file://%{url(%{tmpdir})}/rock.lua"
504}
505build = {
506 modules = { rock = "rock.lua" }
507}
508--------------------------------------------------------------------------------
509
510FILE: hasdep-1.0-1.rockspec
511--------------------------------------------------------------------------------
512rockspec_format = "3.0"
513package = "hasdep"
514version = "1.0-1"
515source = {
516 url = "file://%{url(%{tmpdir})}/hasdep.lua"
517}
518dependencies = {
519 "myrock >= 2.0",
520}
521build = {
522 modules = { hasdep = "hasdep.lua" }
523}
524--------------------------------------------------------------------------------
525
526FILE: rock.lua
527--------------------------------------------------------------------------------
528return "hello"
529--------------------------------------------------------------------------------
530
531FILE: hasdep.lua
532--------------------------------------------------------------------------------
533return "hasdep"
534--------------------------------------------------------------------------------
535
536RUN: luarocks build myrock-2.0-1.rockspec
537RUN: luarocks build hasdep-1.0-1.rockspec
538RUN: luarocks build myrock-1.0-1.rockspec
539
540STDERR:
541--------------------------------------------------------------------------------
542Will not remove myrock 2.0
543Removing it would break dependencies for
544hasdep 1.0
545--------------------------------------------------------------------------------
546
547EXISTS: %{testing_sys_rocks}/myrock/1.0-1
548EXISTS: %{testing_sys_rocks}/myrock/2.0-1
549
550
551
552================================================================================
553TEST: new install functionality based on #552: break dependencies with --force
554
555FILE: myrock-1.0-1.rockspec
556--------------------------------------------------------------------------------
557rockspec_format = "3.0"
558package = "myrock"
559version = "1.0-1"
560source = {
561 url = "file://%{url(%{tmpdir})}/rock.lua"
562}
563build = {
564 modules = { rock = "rock.lua" }
565}
566--------------------------------------------------------------------------------
567
568FILE: myrock-2.0-1.rockspec
569--------------------------------------------------------------------------------
570rockspec_format = "3.0"
571package = "myrock"
572version = "2.0-1"
573source = {
574 url = "file://%{url(%{tmpdir})}/rock.lua"
575}
576build = {
577 modules = { rock = "rock.lua" }
578}
579--------------------------------------------------------------------------------
580
581FILE: hasdep-1.0-1.rockspec
582--------------------------------------------------------------------------------
583rockspec_format = "3.0"
584package = "hasdep"
585version = "1.0-1"
586source = {
587 url = "file://%{url(%{tmpdir})}/hasdep.lua"
588}
589dependencies = {
590 "myrock >= 2.0",
591}
592build = {
593 modules = { hasdep = "hasdep.lua" }
594}
595--------------------------------------------------------------------------------
596
597FILE: rock.lua
598--------------------------------------------------------------------------------
599return "hello"
600--------------------------------------------------------------------------------
601
602FILE: hasdep.lua
603--------------------------------------------------------------------------------
604return "hasdep"
605--------------------------------------------------------------------------------
606
607RUN: luarocks build myrock-2.0-1.rockspec
608RUN: luarocks build hasdep-1.0-1.rockspec
609RUN: luarocks build myrock-1.0-1.rockspec --force
610
611STDERR:
612--------------------------------------------------------------------------------
613The following packages may be broken by this forced removal
614hasdep 1.0
615--------------------------------------------------------------------------------
616
617NOT_EXISTS: %{testing_sys_rocks}/myrock/2.0-1
618EXISTS: %{testing_sys_rocks}/myrock/1.0-1
619
620
621
622================================================================================
623TEST: new install functionality based on #552: break dependencies with --force-fast
624
625FILE: myrock-1.0-1.rockspec
626--------------------------------------------------------------------------------
627rockspec_format = "3.0"
628package = "myrock"
629version = "1.0-1"
630source = {
631 url = "file://%{url(%{tmpdir})}/rock.lua"
632}
633build = {
634 modules = { rock = "rock.lua" }
635}
636--------------------------------------------------------------------------------
637
638FILE: myrock-2.0-1.rockspec
639--------------------------------------------------------------------------------
640rockspec_format = "3.0"
641package = "myrock"
642version = "2.0-1"
643source = {
644 url = "file://%{url(%{tmpdir})}/rock.lua"
645}
646build = {
647 modules = { rock = "rock.lua" }
648}
649--------------------------------------------------------------------------------
650
651FILE: hasdep-1.0-1.rockspec
652--------------------------------------------------------------------------------
653rockspec_format = "3.0"
654package = "hasdep"
655version = "1.0-1"
656source = {
657 url = "file://%{url(%{tmpdir})}/hasdep.lua"
658}
659dependencies = {
660 "myrock >= 2.0",
661}
662build = {
663 modules = { hasdep = "hasdep.lua" }
664}
665--------------------------------------------------------------------------------
666
667FILE: rock.lua
668--------------------------------------------------------------------------------
669return "hello"
670--------------------------------------------------------------------------------
671
672FILE: hasdep.lua
673--------------------------------------------------------------------------------
674return "hasdep"
675--------------------------------------------------------------------------------
676
677RUN: luarocks build myrock-2.0-1.rockspec
678RUN: luarocks build hasdep-1.0-1.rockspec
679RUN: luarocks build myrock-1.0-1.rockspec --force-fast
680
681NOT_STDERR:
682--------------------------------------------------------------------------------
683The following packages may be broken by this forced removal
684hasdep 1.0
685--------------------------------------------------------------------------------
686
687NOT_EXISTS: %{testing_sys_rocks}/myrock/2.0-1
688EXISTS: %{testing_sys_rocks}/myrock/1.0-1
diff --git a/spec/util/quick.lua b/spec/util/quick.lua
index 257f570e..b2683ac6 100644
--- a/spec/util/quick.lua
+++ b/spec/util/quick.lua
@@ -468,7 +468,7 @@ function quick.compile(filename, env)
468 for i, line in ipairs(op.not_stderr.data) do 468 for i, line in ipairs(op.not_stderr.data) do
469 write(([=[ line = %q ]=]):format(line)) 469 write(([=[ line = %q ]=]):format(line))
470 write(([=[ s = string.find(stderr_data, line, block_at, true) ]=])) 470 write(([=[ s = string.find(stderr_data, line, block_at, true) ]=]))
471 write(([=[ assert(not s, error_message(%d, "NOT_STDERR did match unwanted output: " .. line, stderr_data)) ]=]):format(op.stderr.start + i)) 471 write(([=[ assert(not s, error_message(%d, "NOT_STDERR did match unwanted output: " .. line, stderr_data)) ]=]):format(op.not_stderr.start + i))
472 end 472 end
473 write([=[ end ]=]) 473 write([=[ end ]=])
474 end 474 end