Compare commits

..

56 Commits
ravi ... master

Author SHA1 Message Date
Peter Melnichenko
c0349eee68
0.20.0 release 2018-09-10 18:50:43 +03:00
Peter Melnichenko
edd95bc6b1
Add support for LuaRocks 3.0.2 but set 2.4.4 as stable again 2018-09-10 18:09:54 +03:00
Peter Melnichenko
dca47dcac5 Add CHANGELOG.md 2018-08-18 15:29:20 +03:00
Peter Melnichenko
d672ccd087 Move install action into a separate function 2018-08-18 12:21:54 +03:00
Peter Melnichenko
acd620b247 Allow using --show together with installing
--show now always lists programs installed in given location, possibly
after installing some.
2018-08-18 11:38:11 +03:00
Peter Melnichenko
0b33cd59fc More description error when no programs are specified 2018-08-18 11:31:29 +03:00
Peter Melnichenko
15388ec7b4 Add support for LuaRocks 3.0.1 2018-08-18 11:08:53 +03:00
Peter Melnichenko
16f9a52e6c Attempt to fix OS X Travis build 2018-08-07 13:40:52 +03:00
Peter Melnichenko
fdd1024833 Fix ./?/init.lua not being in package path for Lua 5.3+ 2018-08-07 12:41:14 +03:00
Peter Melnichenko
c1cbbca543 Support LuaRocks 3.0.0 and alias ^ and latest to it 2018-07-26 19:27:30 +03:00
Peter Melnichenko
ca2fd3194c Revert incorrect fix for the Lua 5.4.0-work2 VS problem 2018-07-11 21:28:54 +03:00
Peter Melnichenko
a30d0dd550 Fix 5.4 build when using VS 2018-07-11 21:17:48 +03:00
Peter Melnichenko
732397ef98 0.19.0 release 2018-07-11 20:17:58 +03:00
Peter Melnichenko
cc7bb37e1a Fix newly introduced error when installing Luarocks on win
Archive names contain dots, don't remove too much
when stripping extensions.
2018-07-11 13:48:26 +03:00
Peter Melnichenko
095dcc9b4a Add Lua 5.4.0-work{1,2} to supported releases
Refactor the way download names and urls are acquired to
allow more flexibility.
2018-07-11 13:21:43 +03:00
Peter Melnichenko
68d9caef5a Use pycodestyle instead of pep8, fix its warnings and config 2018-07-10 20:07:27 +03:00
Peter Melnichenko
49b8acac6e Support Lua 5.3.5 2018-07-10 19:15:32 +03:00
Peter Melnichenko
cecb55f5ad Add missing patches for Lua 5.3.4 2018-07-10 17:11:44 +03:00
Peter Melnichenko
bfd7d8efd1 Preliminary Lua 5.4 support
Now Lua 5.4 work1 can be properly installed by unpacking its
.tar.gz and running `hererocks <prefix> -l <untared>/src`.
Use `--cflags=-DLUA_NILINTABLE` if very brave.
2018-03-15 22:19:45 +03:00
Peter Melnichenko
cc30733d11 0.18.0 release (fixed) 2018-03-13 13:19:41 +03:00
Peter Melnichenko
3f370377e7 0.18.0 release 2018-03-13 13:16:04 +03:00
Peter Melnichenko
66b2e9bc7a Another attempt to fix build on OS X 2018-03-13 13:08:11 +03:00
Peter Melnichenko
4ce0ab9daa Fix OS X Travis CI 2018-03-13 12:58:28 +03:00
Peter Melnichenko
a8d4e2c08d Add a patch for Lua 5.3.4 2018-03-13 12:48:36 +03:00
Peter Melnichenko
248de26b94 Fix a test installing Lua from git
Bleeding edge Lua is now 5.4 and not supported by LuaRocks,
use latest 5.3 commit instead.
2018-03-13 12:46:08 +03:00
Peter Melnichenko
2d0e07cf7f Add support for LuaRocks 2.4.4, update LuaRocks 3 branch
Use @master instead of @luarocks-3 for LuaRocks 3.
2018-03-13 12:40:49 +03:00
Peter Melnichenko
46d1e02119 0.17.0 release 2017-09-13 16:50:59 +03:00
Peter Melnichenko
d18b005558 Fix a pyflakes warning 2017-09-13 16:19:21 +03:00
Peter Melnichenko
898256d5c3 Update --help for PUC-Rio Lua repo changes 2017-09-13 16:16:51 +03:00
Peter Melnichenko
0e3fc45758 Support new directory structure of PUC-Rio Lua git repo
When installing PUC-Rio Lua from git or local sources,
look for source files in root project directory instead
of `src`.

Default PUC-Rio Lua repo does not contain sources for luac.
It lacks lua.hpp, too.
2017-09-13 16:11:36 +03:00
Peter Melnichenko
7f6f5b02b5 Add patches for Lua 5.3.4 2017-09-13 12:35:34 +03:00
Peter Melnichenko
8cc94db304 Update license year 2017-09-13 12:23:23 +03:00
Peter Melnichenko
8289a5f705 Merge pull request #38 from fperrad/luarocks
Add LuaRocks 2.4.3 support
2017-09-13 12:18:50 +03:00
Francois Perrad
c44db4fcdb Add LuaRocks 2.4.3 support 2017-09-13 11:02:27 +02:00
Peter Melnichenko
3d66ed47ab Fix README.rst for 0.16.0 2017-06-10 19:56:31 +03:00
Peter Melnichenko
a614537aad 0.16.0 release 2017-06-10 19:39:58 +03:00
Peter Melnichenko
1704d44482 Show version suffix in fetching stage
Used version is not always obvious when version
is specified as `latest`, show it as early as possible.
2017-06-08 13:04:43 +03:00
Peter Melnichenko
870b84d673 Make subprocess output decoding more resilient
Use platform default encoding, ignore decoding errors.
2017-05-02 22:07:45 +03:00
Peter Melnichenko
265b77f365 Add timeout on downloads and --timeout option
Default timeout is 1 minute per mirror.
2017-05-02 21:38:27 +03:00
Peter Melnichenko
03cba28315 Add mirror support, include official PUC-Rio Lua mirror URL 2017-05-02 21:26:17 +03:00
Peter Melnichenko
1aa8a8a028 Add support for LuaJIT 2.0.5 and 2.1.0-beta3 2017-05-02 21:03:13 +03:00
Peter Melnichenko
15b8240a65 0.15.0 release 2017-04-02 20:53:12 +03:00
Peter Melnichenko
cdd9e172e3 Append custom CFLAGS to LuaRocks config
Ref #33.
2017-03-21 13:56:30 +03:00
Peter Melnichenko
cd483f5c91 0.14.0 release 2017-01-31 14:24:53 +03:00
Peter Melnichenko
d173a0b717 Add support for Lua 5.3.4 2017-01-31 14:16:20 +03:00
Peter Melnichenko
3ca0d2e863 0.13.1 release 2017-01-09 14:14:43 +03:00
Peter Melnichenko
09ea6dd2e4 Fix recursive call on Windows
For some reason sys.argv[0] may contain path to the python wrapper
(hererocks-script.py) or just "hererocks". Use inspect.getsourcefile
to get hererocks file location instead.
2017-01-09 12:35:40 +03:00
Peter Melnichenko
6840fa3eb9 0.13.0 release 2016-12-22 13:33:59 +03:00
Peter Melnichenko
5f83340455 Fix test broken by github.com/lua/lua changes 2016-12-06 18:11:37 +03:00
Peter Melnichenko
893ea86826 Add Luarocks 2.4.2 support 2016-12-06 15:55:49 +03:00
Peter Melnichenko
24c5bfbffd Allow using Luarocks config in home dir 2016-12-06 15:50:35 +03:00
Peter Melnichenko
8afe784657 0.12.0 release 2016-11-04 00:19:19 +03:00
Peter Melnichenko
e89c557d23 Use new luarocks org name 2016-11-04 00:16:40 +03:00
Peter Melnichenko
e26ac2e05a Add support for Luarocks 2.4.1 2016-10-27 20:17:57 +03:00
Peter Melnichenko
3af691efe9 Fix OS X CI
Do not `brew install` python on OS X, it's already installed on the
new image Travis uses.
2016-10-27 20:09:11 +03:00
Peter Melnichenko
012172c020 Handle unicode in output correctly in tests under py2 2016-10-16 17:53:54 +03:00
9 changed files with 806 additions and 415 deletions

View File

@ -1,13 +1,5 @@
language: python
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- gcc-4.8
- g++-4.8
matrix:
include:
- os: linux
@ -20,13 +12,11 @@ matrix:
language: generic
install:
- export CXX=g++-4.8
- export CC=gcc-4.8
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; brew install python; fi
- pip install pyflakes pep8 coverage coveralls nose
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then sudo pip2 install pyflakes pycodestyle coverage coveralls nose --ignore-installed; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then pip install pyflakes pycodestyle coverage coveralls nose; fi
script:
- pyflakes .
- pep8 .
- pycodestyle .
- nosetests
- coveralls

243
CHANGELOG.md Normal file
View File

@ -0,0 +1,243 @@
# Changelog
## 0.20.0 (2018-09-10)
### New features and improvements
* Added support for LuaRocks 3.0.0 - 3.0.2. `latest` and `^` aliases still
point to `2.4.4`.
* `--show` can now be used when installing programs; all programs present
in the given location are listed after installation is complete.
### Fixes
* `package.path` for Lua 5.3+ built with hererocks now includes `./?/init.lua`,
just as with standard Lua.
## 0.19.0 (2018-07-11)
### New features and improvements
* Added support for Lua 5.4.0-work1 and 5.4.0-work2.
* Added support for Lua 5.3.5.
* Added patches for Lua 5.3.4:
- `Lua crashes when building sequences with more than 2^30 elements`
- `Table length computation overflows for sequences larger than 2^31
elements`
- `Memory-allocation error when resizing a table can leave it in an
inconsistent state`
## 0.18.0 (2018-03-13)
### New features and improvements
* Added support for LuaRocks 2.4.4.
* Using `3` as version when installing LuaRocks now uses master branch of the
LuaRocks git repo instead of `luarocks-3`.
* Added `lua_pushcclosure should not call the garbage collector when n is zero`
patch for Lua 5.3.4.
## 0.17.0 (2017-09-13)
### New features and improvements
* Added support for LuaRocks 2.4.3.
* When installing PUC-Rio Lua from a git repo or local sources, source files
are expected to be in root directory instead of `src`. This allows one to
install Lua from the default Lua repo at github.com/lua/lua.
## 0.16.0 (2017-06-10)
### New features and improvements
* Added support for LuaJIT 2.0.5 and 2.1.0-beta3.
* Added fallback to a mirror for PUC-Rio Lua download.
* Added `--timeout` option for downloads.
## 0.15.0 (2017-04-02)
### New features and improvements
* When building Lua with custom cflags, hererocks now instructs LuaRocks to use
same flags when building C modules.
## 0.14.0 (2017-01-31)
### New features and improvements
* Added support for Lua 5.3.4.
## 0.13.1 (2017-01-09)
### Fixes
* Fixed an error when setting up cl.exe and hererocks has been installed using
a version of pip that passes `prefix/hererocks` instead of
`prefix/hererocks-script.py` as `sys.argv[0]`.
## 0.13.0 (2016-12-22)
### New features and improvements
* Added support for LuaRocks 2.4.2.
* LuaRocks is now configured to allow using config in user home directory.
In particular, API keys for `luarocks upload` command are now properly cached.
## 0.12.0 (2016-11-04)
### New features and improvements
* Added support for LuaRocks 2.4.1.
* Updated URL for LuaRocks downloads and default git repo.
## 0.11.0 (2016-09-10)
### New features and improvements
* Added support for LuaRocks 2.4.0.
* Added two new patches for bugs in Lua 5.3.3, try `--patch`.
* Caching of downloads now works on Unix-like systems even when `$HOME` is
unset (#28).
## 0.10.0 (2016-07-14)
### New features and improvements
* hererocks now creates activation scripts a-la virtualenv in `<location>/bin`.
Bash, Zsh, Dash, Fish, Csh, Batch, and PowerShell are supported.
* Lua 5.3.3 can now be patched to fix a bug (`Expression list with four or more
expressions in a 'for' loop can crash the interpreter`), try `--patch`.
## 0.9.0 (2016-06-21)
### New features and improvements
* Added support for LuaRocks 2.0.13.
### Fixes
* Fixed occasional SHA256 mismatches when downloading LuaJIT (#27).
## 0.8.1 (2016-06-12)
### Fixes
* Fixed error when installing from non-default git repo on Windows.
## 0.8.0 (2016-06-07)
### New features and improvements
* Added support for Lua 5.3.3.
## 0.7.0 (2016-05-03)
### New features and improvements
* Windows support with automatic Visual Studio setup.
* New values for `--target` option for selecting Visual Studio version and
target architecture.
* New `--show` option for listing programs installed in a location.
* New `--patch` option for applying official patches for bugs in Lua (#21).
* Documented `--downloads` and `--builds` options, may be useful for caching.
### Fixes
* Fixed an error when a command failed when using Python 3 (#15).
* Fixed error when running with `HOME` environment variable undefined (#24).
## 0.6.2 (2016-03-22)
### Fixes
Fixed a bug that resulted in Lua being built without compatibility flags (#14).
## 0.6.1 (2016-03-22) [yanked]
## 0.6.0 (2016-03-20)
### Breaking changes
* `hererocks --luajit 2.1` now installs LuaJIT 2.1.0-beta2 instead of
using v2.1 git branch. Use `hererocks --luajit @v2.1` to get old behaviour.
### New features and improvements
* LuaJIT versions 2.1.0-beta1 - 2.1.0-beta2 are now supported.
* Lua is now built manually (`make` is not run).
* OS X 10.4+ support for Lua 5.1.0 - 5.1.2.
* SHA256 checksums for downloaded archives are now verified (#13).
* `--no-readline` flag for building Lua without readline library.
* Lua archives are now downloaded using HTTPS.
### Fixes
* `luajit.h` is installed for LuaJIT (#11, #12).
* `jit.*` modules work correctly for LuaJIT 2.0.1.
## 0.5.0 (2016-01-11)
### New features and improvements
LuaRocks 2.3.0 is now supported.
## 0.4.0 (2016-01-03)
### New features and improvements
* Documented --no-git-cache option.
### Fixes
* Fixed error when installing Lua 5.1 on OS X, thanks to @xpol.
## 0.3.1 (2015-12-22)
### Fixes
* Fetch LuaJIT from GitHub mirror archive to avoid 'Connection refused' errors
when installing it on Travis.
## 0.3.0 (2015-12-19)
### New features and improvements
* LuaRocks versions 2.0.8 - 2.0.12 are now supported.
* `--compat=none` now turns off Lua 5.0 compatibility options when installing
Lua 5.1
* Default git repos are cached.
* New `--cflags` option for adding custom compiler flags when compiling Lua and
LuaJIT.
### Fixes
* LuaJIT `jit.*` modules are now properly installed.
## 0.2.0 (2015-12-02)
### New features and improvements
* Lua 5.3.2 is now supported.
* Versions of installed programs are showed in status messages.
## 0.1.0 (2015-11-29)
### Breaking changes
* Removed `-c` and `-t` shortcuts.
### New features and improvements
* `--verbose` flag that prints commands hererocks runs.
* hererocks now checks if requested versions are already installed, and skips
installation in that case. Override using `--ignore-installed/-i` flag.
* PUC Rio Lua now has default git URI.
### Fixes
* Installing from a git branch now works with newer git versions.
## 0.0.3 (2015-08-14)
The first release.

View File

@ -1,6 +1,6 @@
The MIT License (MIT)
Copyright (c) 2015 - 2016 Peter Melnichenko
Copyright (c) 2015 - 2017 Peter Melnichenko
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -83,8 +83,8 @@ Version selection
``--lua/-l``, ``--luajit/-j`` and ``--luarocks/-r`` options select versions of programs to install. There are three ways to specify how to fetch the sources:
* Using version number, such as ``5.1.5``. If patch or minor versions are left out the latest possible version will be used, e.g. for Lua ``5.2`` is currently equivalent to ``5.2.4`` and for LuaJIT ``2.1`` is same as ``2.1.0-beta2``. ``latest`` or ``^`` can be used to select the latest stable version. ``hererocks`` will fetch and unpack sources of the selected version from corresponding downloads location, verifying their SHA256 checksum.
* Using git URI plus reference to checkout, separated by ``@``. Default reference is ``master``, and there are default git URIs for Lua (https://github.com/lua/lua), LuaJIT (https://github.com/luajit/luajit) and LuaRocks (https://github.com/keplerproject/luarocks). For instance, ``--luajit @458a40b`` installs from a commit at the LuaJIT git repository and ``--luajit @`` installs from its master branch. ``hererocks`` will use ``git`` command for cloning.
* Using version number, such as ``5.1.5``. If patch or minor versions are left out the latest possible version will be used, e.g. for Lua ``5.2`` is currently equivalent to ``5.2.4`` and for LuaJIT ``2.1`` is same as ``2.1.0-beta3``. ``latest`` or ``^`` can be used to select the latest stable version. ``hererocks`` will fetch and unpack sources of the selected version from corresponding downloads location, verifying their SHA256 checksum.
* Using git URI plus reference to checkout, separated by ``@``. Default reference is ``master``, and there are default git URIs for Lua (https://github.com/lua/lua), LuaJIT (https://github.com/luajit/luajit) and LuaRocks (https://github.com/luarocks/luarocks). For instance, ``--luajit @458a40b`` installs from a commit at the LuaJIT git repository and ``--luajit @`` installs from its master branch. ``hererocks`` will use ``git`` command for cloning.
* Using path to a local directory.
Compatibility flags
@ -95,7 +95,7 @@ Lua and LuaJIT have some flags that add compatibility with other Lua versions. L
Installing standard PUC-Rio Lua
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Available versions: 5.1 - 5.1.5, 5.2.0 - 5.2.4, 5.3.0 - 5.3.3.
Available versions: 5.1 - 5.1.5, 5.2.0 - 5.2.4, 5.3.0 - 5.3.5, 5.4.0-work1 - 5.4.0-work2 (5.4 and 5.4.0 are aliases for 5.4.0-work2). ``latest`` and ``^`` version aliases point to ``5.3.5``.
Use ``5.1.0`` to install Lua ``5.1`` which was released without patch version for some reason.
@ -104,12 +104,12 @@ When building Lua, ``hererocks`` tries to emulate a sensible ``make`` target. Th
Installing LuaJIT
^^^^^^^^^^^^^^^^^
Available versions: 2.0.0 - 2.0.4, 2.1.0-beta1 - 2.1.0-beta2.
Available versions: 2.0.0 - 2.0.5, 2.1.0-beta1 - 2.1.0-beta3. ``latest`` and ``^`` version aliases point to ``2.0.5``.
Installing LuaRocks
^^^^^^^^^^^^^^^^^^^
Available versions: 2.0.8 - 2.0.13, 2.1.0 - 2.1.2, 2.2.0 - 2.2.2, 2.3.0, 2.4.0, 3 (installs from ``luarocks-3`` branch of the LuaRocks git repository).
Available versions: 2.0.8 - 2.0.13, 2.1.0 - 2.1.2, 2.2.0 - 2.2.2, 2.3.0, 2.4.0 - 2.4.4, 3.0.0 - 3.0.2. ``latest`` and ``^`` version aliases point to ``2.4.4``.
Version 2.0.8 does not support Lua 5.2. Versions 2.0.8 - 2.1.2 do not support Lua 5.3.

View File

@ -7,11 +7,11 @@ environment:
build_script:
- PATH %CD%\here\bin;C:\mingw\bin;C:\python%Python%;C:\python%Python%\scripts;%PATH%
- pip install pyflakes pep8 coverage coveralls nose
- pip install pyflakes pycodestyle coverage coveralls nose
test_script:
- pyflakes .
- pep8 .
- pycodestyle .
- nosetests
- coverage report
- if not "%COVERALLS_REPO_TOKEN%"=="" coveralls

File diff suppressed because it is too large Load Diff

View File

@ -1,2 +1,2 @@
[pep8]
ignore = E203,E302,E501
[pycodestyle]
ignore = E203,E302,E305,E501

View File

@ -9,7 +9,7 @@ readme.close()
setuptools.setup(
name="hererocks",
version="0.11.0",
version="0.20.0",
description="Tool for installing Lua and LuaRocks locally",
long_description=long_description,
keywords="lua",
@ -29,7 +29,8 @@ setuptools.setup(
"Programming Language :: Python :: 3.3",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6"
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7"
],
py_modules=["hererocks"],
entry_points={

View File

@ -29,7 +29,7 @@ class TestCLI(unittest.TestCase):
args[0] += ".bat"
process = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
output = process.communicate()[0].decode("UTF-8")
output = process.communicate()[0]
if process.returncode != 0:
raise AssertionError("Error running command '{}': code {}, output:\n{}".format(
@ -39,6 +39,8 @@ class TestCLI(unittest.TestCase):
actual_output_lines = output.splitlines()
for expected_output_line in expected_output_lines:
expected_output_line = expected_output_line.encode("UTF-8")
if not any(expected_output_line in actual_output_line for actual_output_line in actual_output_lines):
raise AssertionError("Expected to see '{}' in output of command '{}', got output:\n{}".format(
expected_output_line, " ".join(args), output))
@ -51,7 +53,7 @@ class TestCLI(unittest.TestCase):
def test_install_latest_lua_with_latest_luarocks(self):
self.assertHererocksSuccess(["--lua", "latest", "--luarocks", "latest"])
self.assertHererocksSuccess(["--show"], ["Programs installed in", "Compat: default"])
self.assertSuccess(["lua", "-v"], ["Lua 5.3.3"])
self.assertSuccess(["lua", "-v"], ["Lua 5.3.5"])
self.assertSuccess(["lua", "-e", "assert(bit32)"])
self.assertSuccess(["luarocks", "--version"])
@ -64,6 +66,11 @@ class TestCLI(unittest.TestCase):
def test_install_latest_lua_with_luarocks_from_git(self):
self.assertHererocksSuccess(["--lua", "latest", "--luarocks", "https://github.com/mpeterv/luarocks@master"])
def test_install_lua_from_git_with_latest_luarocks(self):
self.assertHererocksSuccess(["--lua", "@b1daa06", "--luarocks", "latest"])
self.assertHererocksSuccess(["--show"], ["Programs installed in", "cloned from https://github.com/lua/lua"])
self.assertSuccess(["luarocks", "--version"])
def test_verbose_install_bleeding_edge_luajit_with_latest_luarocks(self):
self.assertHererocksSuccess(["--luajit", "@v2.1", "--luarocks", "latest", "--verbose"])
self.assertSuccess(["lua", "-v"], ["LuaJIT 2.1.0"])
@ -74,6 +81,7 @@ class TestCLI(unittest.TestCase):
self.assertSuccess(["hererocks-test"], ["LuaJIT 2.1.0"])
self.assertHererocksSuccess(["--luajit", "@v2.1", "--luarocks", "latest"], ["already installed"])
self.assertHererocksSuccess(["--show"], ["cloned from https://github.com/LuaJIT/LuaJIT"])
def test_install_lua_5_1_without_compat_without_readline_with_old_luarocks(self):
self.assertHererocksSuccess(["--lua", "5.1", "--compat", "none", "--no-readline", "--luarocks", "2.0.8"])
@ -99,17 +107,6 @@ class TestCLI(unittest.TestCase):
self.assertHererocksSuccess([
"--luajit", "latest", "--compat", "5.2", "--cflags=-DLUA_USE_APICHECK", "--target", "vs"])
def test_install_latest_ravi_with_latest_luarocks(self):
self.assertHererocksSuccess(["--ravi", "latest", "--luarocks", "latest", "--verbose"])
self.assertSuccess(["lua", "-v"], ["Ravi 5.3.2"])
self.assertSuccess(["lua", "-e", "local t: table = {}"])
self.assertSuccess(["luarocks", "--version"])
self.assertSuccess(["luarocks", "make", os.path.join("test", "hererocks-test-scm-1.rockspec")])
self.assertSuccess(["hererocks-test"], ["Ravi 5.3"])
self.assertHererocksSuccess(["--ravi", "latest", "--luarocks", "latest"], ["already installed"])
def test_cached_lua_5_2_build(self):
self.assertHererocksSuccess(
["--lua", "5.2", "--builds", os.path.join("test", "builds")],
@ -121,7 +118,7 @@ class TestCLI(unittest.TestCase):
["--lua", "5.2", "--ignore-installed", "--compat", "none", "--builds", os.path.join("test", "builds")],
["compat: none) (cached)"])
def test_install_lua_from_given_git_repo_with_luarocks_from_local_sources(self):
def test_install_lua_5_2_with_luarocks_from_local_sources(self):
local_luarocks = os.path.join("test", "luarocks")
if not os.path.exists(local_luarocks):
@ -129,10 +126,8 @@ class TestCLI(unittest.TestCase):
"git", "clone", "https://github.com/keplerproject/luarocks",
"--depth=1", local_luarocks], from_prefix=False)
self.assertHererocksSuccess(["--lua", "https://github.com/lua/lua@5.1.3-rc3", "--luarocks", local_luarocks])
self.assertSuccess(["lua", "-v"], ["Lua 5.1.3"])
self.assertHererocksSuccess(["--show"], [
"Lua 5.1", "cloned from https://github.com/lua/lua", "from local sources"])
self.assertHererocksSuccess(["--lua", "5.2", "--luarocks", local_luarocks])
self.assertHererocksSuccess(["--show"], ["from local sources"])
def test_activate_scripts(self):
self.assertHererocksSuccess(["--lua", "5.1"], location=os.path.join("here", "bad (dir) 1"))
@ -151,3 +146,11 @@ class TestCLI(unittest.TestCase):
"activate 2: {}{}{}".format(path2, os.pathsep, path),
"deactivate 2: {}".format(path)
], from_prefix=False)
def test_install_lua_5_4_with_luarocks_3(self):
self.assertHererocksSuccess(["--lua", "5.4", "--luarocks", "3"])
self.assertHererocksSuccess(["--lua", "5.4.0-work1", "--luarocks", "3"])
if os.name == "nt":
self.assertHererocksSuccess(["--lua", "5.4", "--luarocks", "3", "--target", "vs"])
self.assertHererocksSuccess(["--lua", "5.4.0-work1", "--luarocks", "3", "--target", "vs"])