Commit graph

142 commits

Author SHA1 Message Date
Jyrki Vesterinen
aa73b83600 Extend the first CVE-2018-1999023 unit test to also try loadstring()
Like @gfgtdf pointed out, loadstring() is still supported by Lua in the
name of backwards compatibility, even though it was deprecated in Lua 5.2
and is no longer mentioned in Lua manual. Thus, as of committing this it's
actually possible to load Lua bytecode.

Let's unit test this to ensure that we don't reintroduce this
vulnerability.
2018-07-28 08:12:48 +03:00
Jyrki Vesterinen
8dc60ae98f check_utf8.sh: don't check the Lua bytecode file
This avoids one of the two files which are currently causing macOS SCons
builds to fail in the master branch.
2018-07-27 23:52:38 +03:00
gfgtdf
6b13a63bb0 wml test for cve-2018-1999023
this test whether we succesfully prevent the exceution and parsing of
precompiled lua chunks, which can be used to break the lua sandbox.
This test does not cover all affected functions in particular not the ai
code that loads lua chunks.
2018-07-27 15:36:56 +03:00
gfgtdf
26b5ca55e4 disallow attacking with disabled attacks via [do_command]
this fixes some rare cheats in mp.
2018-06-30 01:06:59 +02:00
Pentarctagon
0a7ed44c08 Remove unused test file and images. 2018-06-20 18:46:01 +11:00
mattsc
66b9e11a2d Replace remaining uses of FOREACH macro 2018-05-14 17:13:42 -07:00
mattsc
4b6681a300 Do not load helper.lua where it is not used any more 2018-05-13 20:53:01 -07:00
mattsc
1684e2f5da Remove unnecessary inclusions of helper.set_wml_action_metatable {} 2018-05-13 20:52:51 -07:00
mattsc
3c792fc7d7 Lua code: replace deprecated helper.[gs]et_variable_array() calls 2018-05-13 20:52:17 -07:00
mattsc
64f7ad2560 Lua code: replace deprecated wesnoth.get_all_vars() calls 2018-05-13 20:50:49 -07:00
mattsc
ce7faae4f4 Lua code: replace deprecated wesnoth.set_variable() calls 2018-05-13 20:35:20 -07:00
mattsc
f1764d182f Lua code: replace deprecated wesnoth.get_variable() calls 2018-05-13 20:03:34 -07:00
Celtic Minstrel
3939c332b9 Remove some uses of set_wml_tag_metatable 2018-03-26 22:42:48 -04:00
Charles Dang
0cb9f0d622 Data/Test: wmlindent run
[ci skip]

Addresses some of the whitespace issues mentioned in #2613
2018-03-09 11:22:00 +11:00
sigurdfdragon
dfdf8ccacd Update ids to match type changes in 91e0bb4911 2018-02-16 17:51:00 -05:00
Charles Dang
91e0bb4911 Fixed some remaining uses of deprecated Khalifate names
[ci skip]

Also "colour"->"color"
2018-02-13 05:45:31 +11:00
Jyrki Vesterinen
4500fa6412 Add a unit test to ensure that Lua API rejects dollar signs in tag names 2018-02-10 08:54:23 +02:00
Matthias Krüger
b11d3fdcbe fix a bunch of typos found by codespell in data directory.
https://github.com/lucasdemarchi/codespell
2018-02-06 23:03:06 +11:00
Jyrki Vesterinen
1386e3945c Added unit tests about which WML tag names Lua API accepts 2018-01-17 23:23:13 +02:00
Charles Dang
8ae99bc86a Added some event unit tests by @Pentarctagon
Tests event execution order and events with variable names.
2018-01-11 13:12:28 -05:00
Gregory A Lundberg
eaccef65f8 Add WML unit tests for [for] tag 2017-06-21 21:18:24 -05:00
Celtic Minstrel
b6eedd3df6 Allow launching test scenarios from the titlescreen
Unit test scenarios are excluded. There is no button and no default hotkey.
2017-05-04 19:20:44 -04:00
Celtic Minstrel
8d4cf3cf62 Shorten requires where possible 2017-05-03 02:42:25 -04:00
Jyrki Vesterinen
0fe2fd4c00 Fix the modify_ai_change_default_facet unit test
The test changes the default facet, which takes effect only if no other
facet takes priority. Thus, in turns 7 and 8, the test should expect attack
depth of 7, not 8.

Thanks to @CelticMinstrel for help.
2017-03-02 19:44:50 +02:00
Celtic Minstrel
4e7a2072f0 Fix a unit test still using experimental syntax 2017-02-28 14:11:45 -05:00
Gregory A Lundberg
f4e2cc6681 Fix a unit test
For some reason the macro RESULT causes the test to crash Lua.

Don't see why. Don't know why this fixes it. But this gets the tests working.
2016-10-18 09:01:45 -05:00
Gregory A Lundberg
f805494603 Ensure [endlevel] only happens once.
First come, first served.

This was causing many failures on Travis/CI
2016-10-18 00:35:00 -05:00
Spixi
5588642c81 Allow firing an event by id instead of name. 2016-07-23 12:23:19 +02:00
gfgtdf
68e5e7d7dc fix travis tests 2016-05-20 15:36:51 +02:00
Celtic Minstrel
106f1510d3 Fix unit test 2016-03-24 12:59:59 -04:00
Celtic Minstrel
cb0fad078a WML unit tests for simple aspects 2016-03-22 07:22:22 -07:00
gfgtdf
6e37603538 Attempt to fix travis mp tests 2016-03-20 19:04:33 +01:00
Celtic Minstrel
240b5f61a7 Output formula errors in unit filters to WML error stream
(And consider them to match no units)
2016-03-17 23:27:03 -04:00
Celtic Minstrel
26a2638f2c Make the formula and Lua views of a unit coincide more closely
Several keys were either missing or misnamed in the formula view.
These have been changed to match the Lua and WML names for the keys.
This affects canrecruit, moves, and max_moves, as well as status.

In addition, a large number of keys were missing entirely from the formula view.
Most of these keys have now been added and can be accessed from formulas.
A few that have little use in filters (such as image_mods or profile) are still missing.

The Lua view missed a few keys that the formula view did provide.
Although these could in principle have been obtained by using the special __cfg key,
they have now been added to the Lua view anyway.
2016-03-17 23:27:03 -04:00
gfgtdf
09e88c89d1 remove a useless prprocessor guard
in inclusion of test/multiplayer/ is already guarded with a #ifdef
MP_TEST so there is no point in using #ifdef MP_TEST in that file.
2016-02-15 18:00:43 +01:00
Celtic Minstrel
64ddd50895 Fix [for] loop not iterating the correct number of times
(when the array length changes during the loop)
2015-12-29 23:40:36 -05:00
gfgtdf
7f13156c28 Revert "Rename team_name/user_team_name to team_id/team_name (old syntax still valid)"
And related commits.

This reverts commit 545253ec2b.
This reverts commit 1215f65eb8.
This reverts commit 11664f4024.
This reverts commit e948df3424.
This reverts commit 3781e7839f.

This commits were reverted to exclude them from wesnoth 1.13.2 release because:
1) We are still unsure about the best name oftthese attributes
2) This breaks multiple campaigns, including LoW and the tutorial.
Feel free to revert this revert after 1.13.2 when thse issues can be solved..
2015-12-10 21:29:52 +01:00
gfgtdf
0241f5687e fix failing lua_get_sides test 2015-12-09 02:26:39 +01:00
aquileia
88d4c15c87 Exclude test strings from gettext 2015-12-02 00:37:14 +01:00
Charles Dang
e948df3424 Updated unit tests to use new team id/name syntax 2015-10-26 13:40:44 +11:00
Celtic Minstrel
f224e2a073 Fix WML unit tests 2015-10-07 20:09:57 -04:00
Charles Dang
798c59c7bd Replace most instances of a single-hex [terrain_mask] action with [terrain]
One file is deliberately not converted until we get a dedicated mask test
2015-10-07 17:00:53 +11:00
Celtic Minstrel
f8e897e8dd Change [explain] to [test_condition] 2015-10-06 14:45:29 -04:00
Celtic Minstrel
aa2e24d1b7 Finally fix all the [for] issues. Probably.
(With unit tests to back it up!)

- Fixes [for]step=0
- Fixes [for]start,stop=0,0
- Fixes [for]start,end,step=0,1,-1
- Probably fixes several other things too
2015-10-06 13:51:28 -04:00
Celtic Minstrel
fd34675dd9 Add an [explain] WML tag
This explains (in the log) why a WML conditional has failed (or succeeded). Currently it is fairly basic, looping through and/or/not and printing out the specific conditional tag that failed as well as, for [variable], the current content of the variable.

It's used in the WML unit tests system, but could also be useful for debugging.

This commit also fixes an issue with passing multiple -a arguments to run_wml_tests.
2015-10-06 13:51:27 -04:00
Celtic Minstrel
7e26e09061 Fix erroneous handling of [break]/[continue] in [elseif] 2015-09-23 00:25:31 -04:00
Celtic Minstrel
0d49eeeb39 Add SUCCEED/FAIL macros for WML test cases 2015-09-22 23:13:38 -04:00
Celtic Minstrel
aec99429c4 Merge branch 'break-continue' into foreach 2015-09-20 00:48:39 -04:00
Celtic Minstrel
3c329408ce Implement [break], [continue], [return] tags (they take no arguments) 2015-09-20 00:47:23 -04:00
Celtic Minstrel
a5184181df Fix SUF $this_unit only working within [filter_wml] 2015-09-19 00:19:26 -04:00