summaryrefslogtreecommitdiffstats
path: root/application
diff options
context:
space:
mode:
authorFlorian Pritz <bluewind@xinu.at>2016-07-22 14:31:11 +0200
committerFlorian Pritz <bluewind@xinu.at>2016-07-31 16:55:39 +0200
commitcf7fc454ec1789603b360d69db83faf49b1e3ef1 (patch)
tree4f15ea013cb1af4513f4d5bba3369af5e24d90ac /application
parent1a39024190329a002be034d29979e1e8e5902607 (diff)
Add code coverage output
Signed-off-by: Florian Pritz <bluewind@xinu.at>
Diffstat (limited to 'application')
-rw-r--r--application/controllers/tools.php17
-rw-r--r--application/test/Test.php7
2 files changed, 24 insertions, 0 deletions
diff --git a/application/controllers/tools.php b/application/controllers/tools.php
index 845597b08..e90ed6d5f 100644
--- a/application/controllers/tools.php
+++ b/application/controllers/tools.php
@@ -88,6 +88,7 @@ class Tools extends MY_Controller {
try {
$test->setTestNamePrefix($method->name." - ");
$test->init();
+ $test->setTestID("{$testcase}->{$method->name}");
$test->{$method->name}();
$test->cleanup();
} catch (\Exception $e) {
@@ -97,10 +98,26 @@ class Tools extends MY_Controller {
}
}
}
+
if ($exitcode == 0) {
$test->done_testing();
} else {
exit($exitcode);
}
}
+
+ function generate_coverage_report()
+ {
+ include APPPATH."../vendor/autoload.php";
+ $coverage = new \SebastianBergmann\CodeCoverage\CodeCoverage();
+ foreach (glob(FCPATH."/test-coverage-data/*") as $file) {
+ $coverage->merge(unserialize(file_get_contents($file)));
+ }
+
+ //$writer = new \SebastianBergmann\CodeCoverage\Report\Text();
+ //print $writer->process($coverage, 'code-coverage-report');
+ $writer = new \SebastianBergmann\CodeCoverage\Report\Html\Facade();
+ print $writer->process($coverage, 'code-coverage-report');
+ print "Report saved to ./code-coverage-report/index.html\n";
+ }
}
diff --git a/application/test/Test.php b/application/test/Test.php
index 925fe131e..a0ebf880e 100644
--- a/application/test/Test.php
+++ b/application/test/Test.php
@@ -26,6 +26,7 @@ class TestMore extends \TestMore {
abstract class Test {
protected $t;
protected $server = "";
+ private $testid = "";
public function __construct()
{
@@ -38,6 +39,11 @@ abstract class Test {
$this->server = $server;
}
+ public function setTestID($testid)
+ {
+ $this->testid = $testid;
+ }
+
// Method: POST, PUT, GET etc
// Data: array("param" => "value") ==> index.php?param=value
// Source: http://stackoverflow.com/a/9802854/953022
@@ -77,6 +83,7 @@ abstract class Test {
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
"Accept: application/json",
+ "X-Testsuite-Testname: API request from ".$this->testid,
"Expect: ",
));