diff options
author | Daniel Silverstone <dsilvers@digital-scurf.org> | 2013-11-28 13:56:59 +0100 |
---|---|---|
committer | Daniel Silverstone <dsilvers@digital-scurf.org> | 2013-11-28 13:56:59 +0100 |
commit | 8086445183e2cdb52e6c3d926f8ebdd8667c397e (patch) | |
tree | 8815543120cd51fa94e73fda418648f1b3f6ae85 /old-docs/developing.mdwn | |
parent | f566f178016ae766d5c20fb7408f2280c8995c51 (diff) | |
download | lace-8086445183e2cdb52e6c3d926f8ebdd8667c397e.tar.gz |
Move ldoc generation into top level
Diffstat (limited to 'old-docs/developing.mdwn')
-rw-r--r-- | old-docs/developing.mdwn | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/old-docs/developing.mdwn b/old-docs/developing.mdwn new file mode 100644 index 0000000..f82a593 --- /dev/null +++ b/old-docs/developing.mdwn @@ -0,0 +1,55 @@ +Lace - Helping with Development +=============================== + +The Lace codebase is divided up in to directories: + + lace/ + lib/ + ... The Lace libraries live here + test/ + ... All the tests and their data live here + example/ + ... The example and its data lives here + extras/ + ... The Lua coverage tool lives here + doc/ + ... All the documentation lives here + +The codebase has a top level `Makefile` which defaults to running the test +suite. The test suite requires Lua be present and as well as running all the +tests, also runs the Lua coverage tool to produce `luacov.report.out` which +details the coverage of the Lace codebase. + +It is a policy that releases must have 100% coverage from the test suite. +Ideally 100% coverage would be attained by the test cases for the given modules +but sometimes cross-module usage is required in order to best provide 100% +coverage. + +Any line not covered by the tests will be marked the `***0` in the +`luacov.report.out` file. + +If you make substantive non-backward-compatible changes to the API of Lace then +you should increment the ABI number in the main `lib/lace.lua` file. If you +make bug fixes or backward-compatible improvements then don't worry, the +version number in that file will be incremented during the release process. + +If you add more modules to Lace, you should note that you need to update: + +1. The `Makefile`'s `MODULES` variable +2. The `test/` directory will need a `test-lace.NEWMODULE.lua` file +3. You will need to alter `lib/lace.lua` to pull it in and update + the `test/test-lace.lua` test to include a check for the new module +4. You should ensure your new tests in 2 cover the module fully. +5. You should ensure that any changes are shown in the example if possible. +6. You should ensure any changes are reflected in the `docs/` files. + +You can check individual test suite coverage by running: + + make MODULES=lace.SOMEMODULE + +This will cause the test suite for the named modules *only* to be run, and for +the coverage data for that module to be generated. It is not policy that a +given module's individual tests MUST cover the module 100%, but if possible it +SHOULD. It is, as stated before, policy that the full test suite should cover +100% of the modules when run as a whole though. + |