diff options
Diffstat (limited to 'Data/Libraries/luaunit/TODO.txt')
-rw-r--r-- | Data/Libraries/luaunit/TODO.txt | 223 |
1 files changed, 223 insertions, 0 deletions
diff --git a/Data/Libraries/luaunit/TODO.txt b/Data/Libraries/luaunit/TODO.txt new file mode 100644 index 0000000..1b29df8 --- /dev/null +++ b/Data/Libraries/luaunit/TODO.txt @@ -0,0 +1,223 @@ +# make all instead of make platform, this would allow to remove platform.sh +# also avoid setnv_lua.sh if possible + +# ensure luarocks package are installed inside insall location +/home/travis/build/bluebird75/luaunit/install/luarocks/share/lua/5.1/luarocks" +/home/travis/build/bluebird75/luaunit/install/luarocks/share/lua/5.1/luarocks" + + +TODO Future: +============ +- run a full modules with a function +- build lua with ASAN, memory sanitizer and so on on travis before running it +- ensure that assert string functions like assertStr, strcontains, etc reject incorrect type with a correct error message +- pretty function formatting: https://github.com/luarocks/luarocks/blob/master/src/luarocks/core/util.lua +- platform detection: +- document prettystr +- validate output with ignored tests (0 failures or some failures) +- parametrize tests +- coloured output +- better error messages for string differences (diffing) +- print local variables upon assertion error: + + debug.get_local( ) will get the local variables in the current context + + debug.get_upvalue( ) will get the upvalues in the current context +- see inspect for better table printing: https://github.com/kikito/inspect.lua + + print list part separate from the dict part in a table + + print metatables in tables +- see StackTracePlus for printing more stack information: https://github.com/ignacio/StackTracePlus +- how does busted deal with nested tables ? functions ? +- look at serpent to see how to improve nested table printing +- function should be printed as <function> +- print table of test test_filterWithPattern and see how to improve readability +- shuffle should shuffle separately classes and then class methods +- add assertTableContains and assertTableNotContains to check the presence / absence of value in an array +- look at serpent to see how to improve nested table printing +- doc about usage of prettystr & assertion library +- assertListContainsElements +- assertListContainsElements +- checkXXX for every assertXXX + +- review and enhance: TestLuaUnitExecution:test_withTableErrorInside + + +Version 3.5 (future): +============ + +Planned: +-------- +- global setup / teardown +- class setup / teardown +- report test duration everywhere +- add date and duration to tap output +- XML: report system information +- align the "OK" vertically for text output +- better detection of screen size +- move all file:line description to stack trace +- better deal with one line formatting +- table_contains(): + + check with finding table or nested tables + + add check for error messages +- correctly compare tables with same content but different metatable + +Already done: +------------- +- + +Version 3.4: +============ +TODO: +- assertAlmostNotEquals shall support tables +- document the release process to luarocks and update dev manual +- add test for the runner interface of luaunit +- update examples +- dev guide: explain doit.py +- dev guide: explain CI + +Done +- add a list of environment variables controlling LuaUnit +- double-check documentation generation +- move enabling global namespace pollution explanation to a later chapter +- update doc about TABLE_EQUALS_KEYBYCONTENT +- update doc about test skipping +- update documentation about how to run list of test classes +- update documentation about setOutputType() +- assertAlmostEquals can check lists and more complex structures +- can choose test output type through environment variables LUAUNIT_OUTPUT +- setOutputType() also accepts the xml filename when using the format junit +- simplify printing of table-info in cycles +- allow to skip tests +- fix a bug where assertIs/assertNotIs would not deal with protected metatables +- fix a bug in dealing with table including cycles of different structure +- remove option TABLE_EQUALS_KEYBYCONTENT, it did not make sense + + +Version 3.3: +============ +- make sure that example source code is included in documentation when packaging +- add annex to documentation with full source code of example +- add annex with BSD license +- verify that assertError functions all work with tables, review implementation in detail +- useRe -> usePattern +- add success() to terminate test successfully +- doc: explain that prettystr() is used in assertions +- check rock installation of luaunit +- add custom message support +- build luarocks +- update contributors +- update download badge +- doc about prettystr +- add fail() to force test failure +- use caching on travis-ci +- assertAlmostEqual no longer includes a default margin, margin must always be explicitly specified. +- verify that lu.EPS by calculation +- fix include/exclude bug (see https://github.com/bluebird75/luaunit/pull/82 ) +- doc about scientific computing dedicated functions +- assertions for nan and inf and +/- zero +- fixes for junit and tap output +- doc improvements +- better error messages for list assertions: + + expected length of X, got Y + + index differing in table 1 and 2 +- more doc about assertTrue/False/... with a table +- randomized testing +- can run a tests numerous times (useful for triggering the JIT effect) +- can include and exclude tests from the test list + +Done since 3.1: +=============== +x provide a luarock package. See: https://rocks.moonscript.org/modules/rjpcomputing/luaunit +x make a difference between errors and failures +x lua 5.3 +x travis lua 5.3 +x compatibility with LuaUnit v2.0 of rjbcomputing +x provide a legacy wrapFunction() + +Done since 3.0: +=============== +x check documentation link glitch to TAP +x doc: report how to handle global space pollution/restriction +x doc: adapt all examples to new way of requireing luaunit +x less global space pollution +x doc: move description of table printing to an annex +x validate well-formed XML with a DTD +x validate test output (TAP, ...) with functional tests +x test failures, verify that output is correct +x improve testresult: contain the list of tests, with status of each test +x strip luaunit stack more intelligently: exclude content of luaunit +x mention mailing-list in README.md +x mention version in documentation +x mention mailing-list +x mention the new global variable config for displaying table content +x fix display of tables with recursive references +x improve display of nested tables in error messages +x improve display of multiline strings in error messages + +x Junit XML Ouptut: + x test and fix xml escaping + x validate xml with apache and jenkins schemas + + xml format: + - add proper xml formatting header + - report number of failures within <testsuite> element + - report duration + - add properties describe the environment + +Done: +============ +x add email to report vulnerabilities in private +x add other types of output +x assert with matching of the error message +x finish user documentation +x switch version 3.0 +x add assertMatch for strings +x document --name +x improve junit xml output (one file, choice of filename) +x display number of non selected tests +x assertIs with all types +x mention one file distribution +x improve TAP output: pre-calculate test numbers, display test summary as comment +x test error messages of assertStrMatches and all error functions +x assertNil + assertNotNil +x readthedocs integration +x add travis-ci badges to README +x filter by pattern +x support --version +x support --help +x replace methodInstance with real test name in reports +x better error messages for wrong command line option, or wrong output type +x control verbosity and output type with command line +x display time to run all tests +x move all assertions together +x better error display of assertIsXXX functions +x add assertContains for strings +x add assertIsNumber, assertIsXXX +x table assertions +x sequence asserts +x compatibilty tests with several version of lua +x add assertNotEquals + +Release TODO: +============= +- all tests green in Travis and AppVeyor +- doc is green in read-the-docs +- documentation is updated with release content +- doit.py runtests success +- tag set on the code +- upload release to GitHub +- prepare luarocks and upload to luarocks +- verify smooth installation of luarocks +- annonce release on lua mailing-list + + + + + + + + + + + + + + + |