From 63ac87a36cd1a11659243813c6dae35f08be8152 Mon Sep 17 00:00:00 2001 From: Hisham Muhammad Date: Wed, 28 Feb 2024 20:14:10 -0300 Subject: feat(build,install): only rebuild and reinstall when using --force --- spec/quick/build.q | 40 ++++++++++++++++++++++++++++++++++++++++ spec/quick/install.q | 42 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 82 insertions(+) (limited to 'spec') diff --git a/spec/quick/build.q b/spec/quick/build.q index c6ca433c..a1731da2 100644 --- a/spec/quick/build.q +++ b/spec/quick/build.q @@ -120,3 +120,43 @@ failed to force the lock -------------------------------------------------------------------------------- NOT_EXISTS: %{testing_sys_rocks}/a_rock/1.0-1/a_rock-1.0-1.rockspec + + + +================================================================================ +TEST: luarocks build: do not rebuild when already installed + +FILE: a_rock-1.0-1.rockspec +-------------------------------------------------------------------------------- +rockspec_format = "3.0" +package = "a_rock" +version = "1.0-1" +source = { + url = "file://%{url(%{fixtures_dir})}/a_rock.lua" +} +description = { + summary = "An example rockspec", +} +dependencies = { + "lua >= 5.1" +} +build = { + modules = { + build = "a_rock.lua" + }, +} +-------------------------------------------------------------------------------- +RUN: luarocks build a_rock-1.0-1.rockspec + +RUN: luarocks show a_rock +STDOUT: +-------------------------------------------------------------------------------- +a_rock 1.0 +-------------------------------------------------------------------------------- + +RUN: luarocks build a_rock-1.0-1.rockspec +STDOUT: +-------------------------------------------------------------------------------- +a_rock 1.0-1 is already installed +Use --force to reinstall +-------------------------------------------------------------------------------- diff --git a/spec/quick/install.q b/spec/quick/install.q index ab576605..503aaacc 100644 --- a/spec/quick/install.q +++ b/spec/quick/install.q @@ -373,3 +373,45 @@ RUN: luarocks install myrock-1.0-2.all.rock --no-doc EXISTS: %{testing_sys_tree}/share/lua/%{LUA_VERSION}/sailor/blank-app/.htaccess NOT_EXISTS: %{testing_sys_tree}/share/lua/%{LUA_VERSION}/sailor/blank-app/.htaccess~ + + + +================================================================================ +TEST: do not reinstall when already installed + +FILE: myrock-1.0-1.rockspec +-------------------------------------------------------------------------------- +rockspec_format = "3.0" +package = "myrock" +version = "1.0-1" +source = { + url = "file://%{url(tmpdir)}/rock.lua" +} +build = { + modules = { rock = "rock.lua" } +} +-------------------------------------------------------------------------------- + +FILE: rock.lua +-------------------------------------------------------------------------------- +return "hello" +-------------------------------------------------------------------------------- + +RUN: luarocks build myrock-1.0-1.rockspec +RUN: luarocks pack myrock +RUN: luarocks remove myrock + +RUN: luarocks install ./myrock-1.0-1.all.rock + +RUN: luarocks show myrock +STDOUT: +-------------------------------------------------------------------------------- +myrock 1.0 +-------------------------------------------------------------------------------- + +RUN: luarocks install ./myrock-1.0-1.all.rock +STDOUT: +-------------------------------------------------------------------------------- +myrock 1.0-1 is already installed +Use --force to reinstall +-------------------------------------------------------------------------------- -- cgit v1.2.3-55-g6feb