Skip to content

Commit

Permalink
Test requirements
Browse files Browse the repository at this point in the history
  • Loading branch information
ThanatosGit committed Jan 5, 2024
1 parent a7fae3a commit 960a54f
Show file tree
Hide file tree
Showing 3 changed files with 59 additions and 31 deletions.
2 changes: 2 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ requires = [
"setuptools>=61.2",
"setuptools_scm[toml]>=3.4.3",
"construct>=2.10.0",
"randovania-lupa>=2.0.0",
"zstd",
]
build-backend = "setuptools.build_meta"
Expand All @@ -22,6 +23,7 @@ dynamic = ["version"]

dependencies = [
"construct>=2.10.0",
"randovania-lupa>=2.0.0",
"zstd",
]

Expand Down
1 change: 1 addition & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,5 @@ packaging==23.2
pluggy==1.3.0
pytest==7.4.3
pytest-cov==4.1.0
randovania-lupa==2.0.0
zstd==1.5.5.1
87 changes: 56 additions & 31 deletions tests/formats/test_lua.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,34 +3,56 @@
from mercury_engine_data_structures.formats.lua import Lua
from mercury_engine_data_structures.game_check import Game

_COMPILED_LUA = (b'\x1bLuaQ\x00\x01\x04\x04\x04\x04\x00\x00\x00\x00\x00\x00\x00\x00'
b'\x00\x00\x00\x00\x00\x00\x00\x02\x03\x11\x00\x00\x00\x05\x00\x00'
b'\x00\x06@@\x00A\x80\x00\x00\x82\x00\x00\x00\x1c@\x80\x01\x05\xc0'
b'\x00\x00\x1a@\x00\x00\x16\x00\x00\x80\n\x00\x00\x00\x07\xc0\x00'
b'\x00\x05\xc0\x00\x00d\x00\x00\x00\t@\x00\x82\x05\xc0\x00\x00d@'
b'\x00\x00\t@\x80\x82\x1e\x00\x80\x00\x06\x00\x00\x00\x04\x05\x00'
b'\x00\x00Game\x00\x04\x0e\x00\x00\x00ImportLibrary\x00\x04<\x00\x00'
b'\x00actors/items/randomizerpowerup/scripts/randomizerpowerup.lc\x00'
b'\x04\x18\x00\x00\x00RandomizerBabyHatchling\x00\x04\x05\x00\x00'
b'\x00main\x00\x04\x0b\x00\x00\x00OnPickedUp\x00\x02\x00\x00\x00'
b'\x00\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x02'
b'\x01\x00\x00\x00\x1e\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00'
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06'
b'\x00\x00\x00\n\x00\x00\x00\x00\x01\x00\x04\x16\x00\x00\x00E\x00\x00'
b'\x00F@\xc0\x00\x80\x00\x00\x00\\@\x00\x01E\x80\x00\x00F\xc0\xc0\x00'
b'\x81\x00\x01\x00\\\x80\x00\x01F@\xc1\x00K\x80\xc1\x00\\@\x00\x01E\x80'
b'\x00\x00F\xc0\xc1\x00\x81\x00\x02\x00\\\x80\x00\x01\x85\x80\x00\x00\x86'
b'\xc0@\x01\xc1\x00\x01\x00\x9c\x80\x00\x01\x86@B\x01I\x80\x80\x84\x1e\x00'
b'\x80\x00\n\x00\x00\x00\x04\x12\x00\x00\x00RandomizerPowerup\x00\x04\x0b'
b'\x00\x00\x00OnPickedUp\x00\x04\x05\x00\x00\x00Game\x00\x04\x11\x00\x00'
b'\x00GetDefaultPlayer\x00\x04\x06\x00\x00\x00Samus\x00\x04\x16\x00\x00'
b'\x00BABYHATCHLINGCREATION\x00\x04\n\x00\x00\x00SpawnBaby\x00\x04\n\x00\x00'
b'\x00GetEntity\x00\x04\x0f\x00\x00\x00Baby Hatchling\x00\x04\x05\x00\x00\x00vPos'
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00'
)

lua_str ="""Game.ImportLibrary("actors/items/randomizerpowerup/scripts/randomizerpowerup.lc", false)
_SR_COMPILED_LUA = (
b'\x1bLuaQ\x00\x01\x04\x04\x04\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x03\x11\x00\x00\x00'
b'\x05\x00\x00\x00\x06@@\x00A\x80\x00\x00\x82\x00\x00\x00\x1c@\x80\x01\x05\xc0\x00\x00\x1a@\x00\x00\x16\x00\x00\x80'
b'\n\x00\x00\x00\x07\xc0\x00\x00\x05\xc0\x00\x00d\x00\x00\x00\t@\x00\x82\x05\xc0\x00\x00d@\x00\x00\t@\x80\x82'
b'\x1e\x00\x80\x00\x06\x00\x00\x00\x04\x05\x00\x00\x00Game\x00\x04\x0e\x00\x00\x00ImportLib'
b'rary\x00\x04<\x00\x00\x00actors/items/randomize'
b'rpowerup/scripts/randomizerpower'
b'up.lc\x00\x04\x18\x00\x00\x00RandomizerBabyHatchli'
b'ng\x00\x04\x05\x00\x00\x00main\x00\x04\x0b\x00\x00\x00OnPickedUp\x00\x02\x00\x00'
b'\x00\x00\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x02\x01\x00\x00\x00\x1e\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00'
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\n\x00\x00\x00\x00\x01\x00\x04\x16\x00\x00'
b'\x00E\x00\x00\x00F@\xc0\x00\x80\x00\x00\x00\\@\x00\x01E\x80\x00\x00F\xc0\xc0\x00\x81\x00\x01\x00\\\x80\x00'
b'\x01F@\xc1\x00K\x80\xc1\x00\\@\x00\x01E\x80\x00\x00F\xc0\xc1\x00\x81\x00\x02\x00\\\x80\x00\x01\x85\x80\x00'
b'\x00\x86\xc0@\x01\xc1\x00\x01\x00\x9c\x80\x00\x01\x86@B\x01I\x80\x80\x84\x1e\x00\x80\x00\n\x00\x00\x00\x04\x12\x00'
b'\x00\x00RandomizerPowerup\x00\x04\x0b\x00\x00\x00OnPicke'
b'dUp\x00\x04\x05\x00\x00\x00Game\x00\x04\x11\x00\x00\x00GetDefaultPla'
b'yer\x00\x04\x06\x00\x00\x00Samus\x00\x04\x16\x00\x00\x00BABYHATCHLIN'
b'GCREATION\x00\x04\n\x00\x00\x00SpawnBaby\x00\x04\n\x00\x00\x00Ge'
b'tEntity\x00\x04\x0f\x00\x00\x00Baby Hatchling\x00\x04\x05\x00\x00'
b'\x00vPos\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
b'\x00\x00'
)

_DREAD_COMPILED_LUA = (
b'\x1bLuaQ\x00\x01\x04\x08\x04\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x03'
b'\x11\x00\x00\x00\x05\x00\x00\x00\x06@@\x00A\x80\x00\x00\x82\x00\x00\x00\x1c@\x80\x01\x05\xc0\x00\x00\x1a@\x00\x00'
b'\x16\x00\x00\x80\n\x00\x00\x00\x07\xc0\x00\x00\x05\xc0\x00\x00d\x00\x00\x00\t@\x00\x82\x05\xc0\x00\x00d@\x00\x00'
b'\t@\x80\x82\x1e\x00\x80\x00\x06\x00\x00\x00\x04\x05\x00\x00\x00\x00\x00\x00\x00Game\x00\x04\x0e\x00\x00\x00\x00'
b'\x00\x00\x00ImportLibrary\x00\x04<\x00\x00\x00\x00\x00\x00\x00actors'
b'/items/randomizerpowerup/scripts'
b'/randomizerpowerup.lc\x00\x04\x18\x00\x00\x00\x00\x00\x00\x00R'
b'andomizerBabyHatchling\x00\x04\x05\x00\x00\x00\x00\x00\x00\x00'
b'main\x00\x04\x0b\x00\x00\x00\x00\x00\x00\x00OnPickedUp\x00\x02\x00\x00\x00\x00\x00\x00'
b'\x00\x00\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x02\x01\x00\x00\x00\x1e\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00'
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\n\x00\x00\x00\x00\x01\x00'
b'\x04\x16\x00\x00\x00E\x00\x00\x00F@\xc0\x00\x80\x00\x00\x00\\@\x00\x01E\x80\x00\x00F\xc0\xc0\x00\x81\x00\x01'
b'\x00\\\x80\x00\x01F@\xc1\x00K\x80\xc1\x00\\@\x00\x01E\x80\x00\x00F\xc0\xc1\x00\x81\x00\x02\x00\\\x80\x00'
b'\x01\x85\x80\x00\x00\x86\xc0@\x01\xc1\x00\x01\x00\x9c\x80\x00\x01\x86@B\x01I\x80\x80\x84\x1e\x00\x80\x00\n\x00\x00'
b'\x00\x04\x12\x00\x00\x00\x00\x00\x00\x00RandomizerPowerup\x00\x04\x0b\x00\x00'
b'\x00\x00\x00\x00\x00OnPickedUp\x00\x04\x05\x00\x00\x00\x00\x00\x00\x00Game\x00\x04\x11'
b'\x00\x00\x00\x00\x00\x00\x00GetDefaultPlayer\x00\x04\x06\x00\x00\x00\x00\x00\x00'
b'\x00Samus\x00\x04\x16\x00\x00\x00\x00\x00\x00\x00BABYHATCHLINGCRE'
b'ATION\x00\x04\n\x00\x00\x00\x00\x00\x00\x00SpawnBaby\x00\x04\n\x00\x00\x00\x00\x00'
b'\x00\x00GetEntity\x00\x04\x0f\x00\x00\x00\x00\x00\x00\x00Baby Hatchl'
b'ing\x00\x04\x05\x00\x00\x00\x00\x00\x00\x00vPos\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
)


lua_str = """Game.ImportLibrary("actors/items/randomizerpowerup/scripts/randomizerpowerup.lc", false)
RandomizerBabyHatchling = RandomizerBabyHatchling or {}
function RandomizerBabyHatchling.main()
end
Expand All @@ -41,8 +63,11 @@
Game.GetEntity("Baby Hatchling").vPos = Game.GetDefaultPlayer("Samus").vPos
end
"""
def test_build_lua():
lua = Lua(Container(lua_text=lua_str), Game.SAMUS_RETURNS)
assert lua.build() == _COMPILED_LUA


def test_build_lua():
lua_sr = Lua(Container(lua_text=lua_str), Game.SAMUS_RETURNS)
assert lua_sr.build() == _SR_COMPILED_LUA

lua_dread = Lua(Container(lua_text=lua_str), Game.DREAD)
assert lua_dread.build() == _DREAD_COMPILED_LUA

0 comments on commit 960a54f

Please sign in to comment.