Generate and convert JUnit reports for xunit-viewer
This commit is contained in:
parent
e69d4b1176
commit
f8968dbd04
2 changed files with 37 additions and 13 deletions
|
@ -22,6 +22,9 @@ import rife.bld.publish.PublishDeveloper;
|
||||||
import rife.bld.publish.PublishLicense;
|
import rife.bld.publish.PublishLicense;
|
||||||
import rife.bld.publish.PublishScm;
|
import rife.bld.publish.PublishScm;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.nio.file.Files;
|
||||||
|
import java.nio.file.Path;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
|
||||||
|
@ -105,7 +108,33 @@ public class DetektOperationBuild extends Project {
|
||||||
.command("scripts/cliargs.sh")
|
.command("scripts/cliargs.sh")
|
||||||
.execute();
|
.execute();
|
||||||
}
|
}
|
||||||
super.test();
|
|
||||||
|
var testResultsDir = "build/test-results/test/";
|
||||||
|
var op = testOperation().fromProject(this);
|
||||||
|
op.testToolOptions().reportsDir(new File(testResultsDir));
|
||||||
|
|
||||||
|
Exception ex = null;
|
||||||
|
try {
|
||||||
|
op.execute();
|
||||||
|
} catch (Exception e) {
|
||||||
|
ex = e;
|
||||||
|
}
|
||||||
|
|
||||||
|
var xunitViewer = new File("/usr/bin/xunit-viewer");
|
||||||
|
if (xunitViewer.exists() && xunitViewer.canExecute()) {
|
||||||
|
var reportsDir = "build/reports/tests/test/";
|
||||||
|
|
||||||
|
Files.createDirectories(Path.of(reportsDir));
|
||||||
|
|
||||||
|
new ExecOperation()
|
||||||
|
.fromProject(this)
|
||||||
|
.command(xunitViewer.getPath(), "-r", testResultsDir, "-o", reportsDir + "index.html")
|
||||||
|
.execute();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ex != null) {
|
||||||
|
throw ex;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,6 @@ import java.nio.file.Files;
|
||||||
import java.nio.file.Paths;
|
import java.nio.file.Paths;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.concurrent.atomic.AtomicBoolean;
|
|
||||||
import java.util.logging.ConsoleHandler;
|
import java.util.logging.ConsoleHandler;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
@ -44,19 +43,15 @@ import static org.assertj.core.api.Assertions.*;
|
||||||
|
|
||||||
@SuppressWarnings("PMD.AvoidDuplicateLiterals")
|
@SuppressWarnings("PMD.AvoidDuplicateLiterals")
|
||||||
class DetektOperationTests {
|
class DetektOperationTests {
|
||||||
private static final AtomicBoolean FIRST_TIME = new AtomicBoolean(true);
|
|
||||||
|
|
||||||
@BeforeAll
|
@BeforeAll
|
||||||
static void beforeAll() {
|
static void beforeAll() {
|
||||||
if (FIRST_TIME.getAndSet(false)) {
|
var level = Level.ALL;
|
||||||
var level = Level.ALL;
|
var logger = Logger.getLogger("rife.bld.extension");
|
||||||
var logger = Logger.getLogger("rife.bld.extension");
|
var consoleHandler = new ConsoleHandler();
|
||||||
var consoleHandler = new ConsoleHandler();
|
consoleHandler.setLevel(level);
|
||||||
consoleHandler.setLevel(level);
|
logger.addHandler(consoleHandler);
|
||||||
logger.addHandler(consoleHandler);
|
logger.setLevel(level);
|
||||||
logger.setLevel(level);
|
logger.setUseParentHandlers(false);
|
||||||
logger.setUseParentHandlers(false);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void deleteOnExit(File folder) {
|
static void deleteOnExit(File folder) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue