Skip to content

Use luatest from parent directory if available#459

Merged
locker merged 1 commit into
masterfrom
locker/use-parent-luatest
May 14, 2026
Merged

Use luatest from parent directory if available#459
locker merged 1 commit into
masterfrom
locker/use-parent-luatest

Conversation

@locker
Copy link
Copy Markdown
Member

@locker locker commented May 8, 2026

Currently, test-run requires luatest to be installed from rocks. It is okay for most tarantool-based projects but it isn't really convenient for tarantool itself: in order to install luatest from rocks, one has to install the tt and tarantool packages because tt will refuse to install anything from rocks if tarantool binary or headers are unavailable. This means that to test a freshly built tarantool, one has to install tarantool first, which sounds strange. True, one can make tt use a freshly built tarantool's binary and headers, but it's tricky. Let's instead make test-run use luatest from the parent directory and ship luatest as a submodule in the main Tarantool repository. Note, that if there's luatest installed from rocks in the current source tree, it will still have a higher priority.

@coveralls
Copy link
Copy Markdown

coveralls commented May 8, 2026

Coverage Status

coverage: 62.585% (-0.007%) from 62.592% — locker/use-parent-luatest into master

locker added a commit to locker/tarantool that referenced this pull request May 8, 2026
Since commit 066b1c6 ("test: bump test-run to new version"),
luatest isn't shipped with test-run anymore. Instead, developers are
supposed to install it from rocks. It isn't really convenient because to
do it, you have to install the tt and tarantool packages first, i.e. to
test tarantool built from sources you have to install the tarantool
binary package first, which looks weird. True, one can make tt use a
freshly built tarantool's binary and headers, but that's tricky. Let's
add luatest as a submodule to the tarantool repository. This makes
test-run use it if it doesn't find luatest in rocks, see
tarantool/test-run#459.

NO_DOC=build
NO_TEST=build
NO_CHANGELOG=build
@locker locker requested review from sergepetrenko and sergos May 8, 2026 17:00
@locker locker requested a review from ligurio May 12, 2026 08:25
Comment thread bin/luatest Outdated
@sergepetrenko sergepetrenko removed their assignment May 12, 2026
@ligurio ligurio removed their assignment May 13, 2026
Copy link
Copy Markdown
Contributor

@sergos sergos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@sergos sergos assigned locker and unassigned sergos May 13, 2026
Currently, test-run requires luatest to be installed from rocks.
It is okay for most tarantool-based projects but it isn't really
convenient for tarantool itself: in order to install luatest from rocks,
one has to install the tt and tarantool packages because tt will refuse
to install anything from rocks if tarantool binary or headers are
unavailable. This means that to test a freshly built tarantool, one has
to install tarantool first, which sounds strange. True, one can make tt
use a freshly built tarantool's binary and headers, but it's tricky.
Let's instead make test-run use luatest from the parent directory and
ship luatest as a submodule in the main Tarantool repository. Note,
that if there's luatest installed from rocks in the current source tree,
it will still have a higher priority.
@locker locker force-pushed the locker/use-parent-luatest branch from 415ca8e to a58ef59 Compare May 14, 2026 08:24
@locker locker merged commit 6936982 into master May 14, 2026
11 checks passed
@locker locker deleted the locker/use-parent-luatest branch May 14, 2026 08:27
locker added a commit to locker/tarantool that referenced this pull request May 14, 2026
Since commit 066b1c6 ("test: bump test-run to new version"),
luatest isn't shipped with test-run anymore. Instead, developers are
supposed to install it from rocks. It isn't really convenient because to
do it, you have to install the tt and tarantool packages first, i.e. to
test tarantool built from sources you have to install the tarantool
binary package first, which looks weird. True, one can make tt use a
freshly built tarantool's binary and headers, but that's tricky. Let's
add luatest as a submodule to the tarantool repository. This makes
test-run use it if it doesn't find luatest in rocks, see
tarantool/test-run#459.

NO_DOC=build
NO_TEST=build
NO_CHANGELOG=build
locker added a commit to tarantool/tarantool that referenced this pull request May 14, 2026
Since commit 066b1c6 ("test: bump test-run to new version"),
luatest isn't shipped with test-run anymore. Instead, developers are
supposed to install it from rocks. It isn't really convenient because to
do it, you have to install the tt and tarantool packages first, i.e. to
test tarantool built from sources you have to install the tarantool
binary package first, which looks weird. True, one can make tt use a
freshly built tarantool's binary and headers, but that's tricky. Let's
add luatest as a submodule to the tarantool repository. This makes
test-run use it if it doesn't find luatest in rocks, see
tarantool/test-run#459.

NO_DOC=build
NO_TEST=build
NO_CHANGELOG=build
locker added a commit to tarantool/tarantool that referenced this pull request May 14, 2026
Since commit 066b1c6 ("test: bump test-run to new version"),
luatest isn't shipped with test-run anymore. Instead, developers are
supposed to install it from rocks. It isn't really convenient because to
do it, you have to install the tt and tarantool packages first, i.e. to
test tarantool built from sources you have to install the tarantool
binary package first, which looks weird. True, one can make tt use a
freshly built tarantool's binary and headers, but that's tricky. Let's
add luatest as a submodule to the tarantool repository. This makes
test-run use it if it doesn't find luatest in rocks, see
tarantool/test-run#459.

NO_DOC=build
NO_TEST=build
NO_CHANGELOG=build

(cherry picked from commit 97a3b38)
locker added a commit to tarantool/tarantool that referenced this pull request May 14, 2026
Since commit 066b1c6 ("test: bump test-run to new version"),
luatest isn't shipped with test-run anymore. Instead, developers are
supposed to install it from rocks. It isn't really convenient because to
do it, you have to install the tt and tarantool packages first, i.e. to
test tarantool built from sources you have to install the tarantool
binary package first, which looks weird. True, one can make tt use a
freshly built tarantool's binary and headers, but that's tricky. Let's
add luatest as a submodule to the tarantool repository. This makes
test-run use it if it doesn't find luatest in rocks, see
tarantool/test-run#459.

NO_DOC=build
NO_TEST=build
NO_CHANGELOG=build

(cherry picked from commit 97a3b38)
locker added a commit to tarantool/tarantool that referenced this pull request May 14, 2026
Since commit 066b1c6 ("test: bump test-run to new version"),
luatest isn't shipped with test-run anymore. Instead, developers are
supposed to install it from rocks. It isn't really convenient because to
do it, you have to install the tt and tarantool packages first, i.e. to
test tarantool built from sources you have to install the tarantool
binary package first, which looks weird. True, one can make tt use a
freshly built tarantool's binary and headers, but that's tricky. Let's
add luatest as a submodule to the tarantool repository. This makes
test-run use it if it doesn't find luatest in rocks, see
tarantool/test-run#459.

NO_DOC=build
NO_TEST=build
NO_CHANGELOG=build

(cherry picked from commit 97a3b38)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants