summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDaniel Silverstone <dsilvers@digital-scurf.org>2017-03-04 16:08:27 +0000
committerDaniel Silverstone <dsilvers@digital-scurf.org>2017-03-04 17:35:18 +0000
commitb609d07be3b37f81f5c05ae56bd427d16bb6f5c9 (patch)
treec38a7b0c0bd126e989cb7582a1f9fbd30333adb5 /lib
parentf2f5b4e6229532f3ba69e9f32bc3305e37b20f4c (diff)
downloadgitano-b609d07be3b37f81f5c05ae56bd427d16bb6f5c9.tar.gz
adds support for coverage testing
Diffstat (limited to 'lib')
-rw-r--r--lib/gitano/coverage.lua.in52
1 files changed, 52 insertions, 0 deletions
diff --git a/lib/gitano/coverage.lua.in b/lib/gitano/coverage.lua.in
new file mode 100644
index 0000000..65d7682
--- /dev/null
+++ b/lib/gitano/coverage.lua.in
@@ -0,0 +1,52 @@
+-- gitano.coverage
+--
+-- Coverage generation for when running Gitano under test.
+-- NOTE: Not to be installed as part of Gitano, not to be loaded from the
+-- top level gitano module
+--
+-- Copyright 2017 Daniel Silverstone <dsilvers@digital-scurf.org>
+-- All rights reserved.
+--
+-- Redistribution and use in source and binary forms, with or without
+-- modification, are permitted provided that the following conditions
+-- are met:
+-- 1. Redistributions of source code must retain the above copyright
+-- notice, this list of conditions and the following disclaimer.
+-- 2. Redistributions in binary form must reproduce the above copyright
+-- notice, this list of conditions and the following disclaimer in the
+-- documentation and/or other materials provided with the distribution.
+-- 3. Neither the name of the author nor the names of their contributors
+-- may be used to endorse or promote products derived from this software
+-- without specific prior written permission.
+--
+-- THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+-- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+-- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+-- ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+-- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+-- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+-- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+-- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+-- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+-- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+-- SUCH DAMAGE.
+--
+
+local ok, runner = pcall(require, "luacov.runner")
+
+local luxio = require("luxio")
+
+local conf = assert(loadfile("@@.luacov@@"))()
+
+local function begin(basepath, part)
+ if not ok then return end
+ basepath = basepath or "./"
+ local pidstr = (".%d"):format(luxio.getpid())
+ part = (part or "general") .. pidstr
+ conf.statsfile = basepath .. "luacov.stats-" .. part .. ".out"
+ runner.init(conf)
+end
+
+return {
+ begin = begin,
+}