Compare commits
2 Commits
TestImplem
...
0c4f092312
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0c4f092312 | ||
|
|
bc0e30860c |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1 +1 @@
|
|||||||
.gradle/
|
build/
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
.gradle/8.14/executionHistory/executionHistory.bin
Normal file
BIN
.gradle/8.14/executionHistory/executionHistory.bin
Normal file
Binary file not shown.
Binary file not shown.
BIN
.gradle/8.14/expanded/expanded.lock
Normal file
BIN
.gradle/8.14/expanded/expanded.lock
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
.gradle/8.14/fileHashes/resourceHashesCache.bin
Normal file
BIN
.gradle/8.14/fileHashes/resourceHashesCache.bin
Normal file
Binary file not shown.
BIN
.gradle/9.1.0/checksums/checksums.lock
Normal file
BIN
.gradle/9.1.0/checksums/checksums.lock
Normal file
Binary file not shown.
BIN
.gradle/9.1.0/checksums/md5-checksums.bin
Normal file
BIN
.gradle/9.1.0/checksums/md5-checksums.bin
Normal file
Binary file not shown.
BIN
.gradle/9.1.0/checksums/sha1-checksums.bin
Normal file
BIN
.gradle/9.1.0/checksums/sha1-checksums.bin
Normal file
Binary file not shown.
BIN
.gradle/9.1.0/executionHistory/executionHistory.bin
Normal file
BIN
.gradle/9.1.0/executionHistory/executionHistory.bin
Normal file
Binary file not shown.
BIN
.gradle/9.1.0/executionHistory/executionHistory.lock
Normal file
BIN
.gradle/9.1.0/executionHistory/executionHistory.lock
Normal file
Binary file not shown.
BIN
.gradle/9.1.0/expanded/expanded.lock
Normal file
BIN
.gradle/9.1.0/expanded/expanded.lock
Normal file
Binary file not shown.
BIN
.gradle/9.1.0/fileHashes/fileHashes.bin
Normal file
BIN
.gradle/9.1.0/fileHashes/fileHashes.bin
Normal file
Binary file not shown.
BIN
.gradle/9.1.0/fileHashes/fileHashes.lock
Normal file
BIN
.gradle/9.1.0/fileHashes/fileHashes.lock
Normal file
Binary file not shown.
BIN
.gradle/9.1.0/fileHashes/resourceHashesCache.bin
Normal file
BIN
.gradle/9.1.0/fileHashes/resourceHashesCache.bin
Normal file
Binary file not shown.
Binary file not shown.
@@ -1,2 +1,2 @@
|
|||||||
#Wed Dec 03 16:01:53 CET 2025
|
#Wed Dec 03 17:36:43 CET 2025
|
||||||
gradle.version=9.1.0
|
gradle.version=9.1.0
|
||||||
|
|||||||
BIN
.gradle/buildOutputCleanup/outputFiles.bin
Normal file
BIN
.gradle/buildOutputCleanup/outputFiles.bin
Normal file
Binary file not shown.
BIN
.gradle/file-system.probe
Normal file
BIN
.gradle/file-system.probe
Normal file
Binary file not shown.
@@ -14,6 +14,7 @@ dependencies {
|
|||||||
testImplementation platform('org.junit:junit-bom:5.10.0')
|
testImplementation platform('org.junit:junit-bom:5.10.0')
|
||||||
testImplementation 'org.junit.jupiter:junit-jupiter'
|
testImplementation 'org.junit.jupiter:junit-jupiter'
|
||||||
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
|
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
|
||||||
|
implementation 'com.mysql:mysql-connector-j:9.5.0'
|
||||||
}
|
}
|
||||||
|
|
||||||
jacoco {
|
jacoco {
|
||||||
@@ -36,6 +37,11 @@ sourceSets {
|
|||||||
|
|
||||||
test {
|
test {
|
||||||
useJUnitPlatform()
|
useJUnitPlatform()
|
||||||
|
testLogging {
|
||||||
|
events "passed", "skipped", "failed"
|
||||||
|
exceptionFormat "full"
|
||||||
|
showStandardStreams = true
|
||||||
|
}
|
||||||
finalizedBy jacocoTestReport
|
finalizedBy jacocoTestReport
|
||||||
}
|
}
|
||||||
jacocoTestReport {
|
jacocoTestReport {
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,192 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
|
||||||
<meta http-equiv="x-ua-compatible" content="IE=edge"/>
|
|
||||||
<title>Test results - Class Gradle Test Executor 1</title>
|
|
||||||
<link href="../css/base-style.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<link href="../css/style.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script src="../js/report.js" type="text/javascript"></script>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="content">
|
|
||||||
<h1>Class Gradle Test Executor 1</h1>
|
|
||||||
<div class="breadcrumbs">
|
|
||||||
<a href="../index.html">all</a> >
|
|
||||||
<a href="../packages/default-package.html">default-package</a> > Gradle Test Executor 1</div>
|
|
||||||
<div id="summary">
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<div class="summaryGroup">
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<div class="infoBox" id="tests">
|
|
||||||
<div class="counter">1</div>
|
|
||||||
<p>tests</p>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<div class="infoBox" id="failures">
|
|
||||||
<div class="counter">1</div>
|
|
||||||
<p>failures</p>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<div class="infoBox" id="ignored">
|
|
||||||
<div class="counter">0</div>
|
|
||||||
<p>ignored</p>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<div class="infoBox" id="duration">
|
|
||||||
<div class="counter">0.293s</div>
|
|
||||||
<p>duration</p>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<div class="infoBox failures" id="successRate">
|
|
||||||
<div class="percent">0%</div>
|
|
||||||
<p>successful</p>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<div class="tab-container">
|
|
||||||
<ul class="tabLinks">
|
|
||||||
<li>
|
|
||||||
<a href="#">Failed tests</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="#">Tests</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<div class="tab">
|
|
||||||
<h2>Failed tests</h2>
|
|
||||||
<div class="test">
|
|
||||||
<a name="failed to execute tests"></a>
|
|
||||||
<h3 class="failures">failed to execute tests</h3>
|
|
||||||
<span class="code">
|
|
||||||
<pre id="test-message-failed to execute tests">org.gradle.api.internal.tasks.testing.TestSuiteExecutionException: Could not execute test class 'java.BadCasesTest'.
|
|
||||||
at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:56)
|
|
||||||
at java.base@17.0.12/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
|
||||||
at java.base@17.0.12/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
|
|
||||||
at java.base@17.0.12/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
|
|
||||||
at java.base@17.0.12/java.lang.reflect.Method.invoke(Method.java:568)
|
|
||||||
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
|
|
||||||
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
|
|
||||||
at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
|
|
||||||
at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:92)
|
|
||||||
at jdk.proxy2/jdk.proxy2.$Proxy6.processTestClass(Unknown Source)
|
|
||||||
at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:177)
|
|
||||||
at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126)
|
|
||||||
at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103)
|
|
||||||
at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63)
|
|
||||||
at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56)
|
|
||||||
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122)
|
|
||||||
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72)
|
|
||||||
at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
|
|
||||||
at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
|
|
||||||
Caused by: java.lang.SecurityException: Prohibited package name: java
|
|
||||||
at java.base/java.lang.ClassLoader.preDefineClass(ClassLoader.java:900)
|
|
||||||
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1015)
|
|
||||||
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
|
|
||||||
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862)
|
|
||||||
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760)
|
|
||||||
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681)
|
|
||||||
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639)
|
|
||||||
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
|
|
||||||
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
|
|
||||||
at java.base/java.lang.Class.forName0(Native Method)
|
|
||||||
at java.base/java.lang.Class.forName(Class.java:467)
|
|
||||||
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.loadClass(JUnitPlatformTestClassProcessor.java:184)
|
|
||||||
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.access$100(JUnitPlatformTestClassProcessor.java:62)
|
|
||||||
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.execute(JUnitPlatformTestClassProcessor.java:120)
|
|
||||||
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.execute(JUnitPlatformTestClassProcessor.java:110)
|
|
||||||
at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor.processTestClass(AbstractJUnitTestClassProcessor.java:61)
|
|
||||||
at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:54)
|
|
||||||
... 18 more
|
|
||||||
</pre>
|
|
||||||
<button class="clipboard-copy-btn" aria-label="Copy to clipboard" data-copy-element-id="test-message-failed to execute tests">Copy</button>
|
|
||||||
</span>
|
|
||||||
<span class="code">
|
|
||||||
<pre id="test-message-failed to execute tests">org.gradle.api.internal.tasks.testing.TestSuiteExecutionException: Could not execute test class 'java.GoodCasesTest'.
|
|
||||||
at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:56)
|
|
||||||
at java.base@17.0.12/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
|
||||||
at java.base@17.0.12/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
|
|
||||||
at java.base@17.0.12/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
|
|
||||||
at java.base@17.0.12/java.lang.reflect.Method.invoke(Method.java:568)
|
|
||||||
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
|
|
||||||
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
|
|
||||||
at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
|
|
||||||
at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:92)
|
|
||||||
at jdk.proxy2/jdk.proxy2.$Proxy6.processTestClass(Unknown Source)
|
|
||||||
at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:177)
|
|
||||||
at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126)
|
|
||||||
at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103)
|
|
||||||
at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63)
|
|
||||||
at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56)
|
|
||||||
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122)
|
|
||||||
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72)
|
|
||||||
at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
|
|
||||||
at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
|
|
||||||
Caused by: java.lang.SecurityException: Prohibited package name: java
|
|
||||||
at java.base/java.lang.ClassLoader.preDefineClass(ClassLoader.java:900)
|
|
||||||
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1015)
|
|
||||||
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
|
|
||||||
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862)
|
|
||||||
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760)
|
|
||||||
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681)
|
|
||||||
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639)
|
|
||||||
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
|
|
||||||
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
|
|
||||||
at java.base/java.lang.Class.forName0(Native Method)
|
|
||||||
at java.base/java.lang.Class.forName(Class.java:467)
|
|
||||||
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.loadClass(JUnitPlatformTestClassProcessor.java:184)
|
|
||||||
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.access$100(JUnitPlatformTestClassProcessor.java:62)
|
|
||||||
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.execute(JUnitPlatformTestClassProcessor.java:120)
|
|
||||||
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.execute(JUnitPlatformTestClassProcessor.java:110)
|
|
||||||
at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor.processTestClass(AbstractJUnitTestClassProcessor.java:61)
|
|
||||||
at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:54)
|
|
||||||
... 18 more
|
|
||||||
</pre>
|
|
||||||
<button class="clipboard-copy-btn" aria-label="Copy to clipboard" data-copy-element-id="test-message-failed to execute tests">Copy</button>
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="tab">
|
|
||||||
<h2>Tests</h2>
|
|
||||||
<table>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>Test</th>
|
|
||||||
<th>Duration</th>
|
|
||||||
<th>Result</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tr>
|
|
||||||
<td class="failures">failed to execute tests</td>
|
|
||||||
<td class="failures">0.293s</td>
|
|
||||||
<td class="failures">failed</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="footer">
|
|
||||||
<p>
|
|
||||||
<div>
|
|
||||||
<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
|
|
||||||
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
|
|
||||||
</label>
|
|
||||||
</div>Generated by
|
|
||||||
<a href="https://www.gradle.org">Gradle 9.1.0</a> at 03.12.2025, 16:01:59</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,174 +0,0 @@
|
|||||||
|
|
||||||
body {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
font-family: sans-serif;
|
|
||||||
font-size: 12pt;
|
|
||||||
}
|
|
||||||
|
|
||||||
body, a, a:visited {
|
|
||||||
color: #303030;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content {
|
|
||||||
padding: 30px 50px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content h1 {
|
|
||||||
font-size: 160%;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#footer {
|
|
||||||
margin-top: 100px;
|
|
||||||
font-size: 80%;
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
#footer, #footer a {
|
|
||||||
color: #a0a0a0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#line-wrapping-toggle {
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
|
|
||||||
#label-for-line-wrapping-toggle {
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul {
|
|
||||||
margin-left: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1, h2, h3 {
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
h2 {
|
|
||||||
font-size: 120%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-container .tab-container {
|
|
||||||
margin-left: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul.tabLinks {
|
|
||||||
padding: 0;
|
|
||||||
margin-bottom: 0;
|
|
||||||
overflow: auto;
|
|
||||||
min-width: 800px;
|
|
||||||
width: auto;
|
|
||||||
border-bottom: solid 1px #aaa;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul.tabLinks li {
|
|
||||||
float: left;
|
|
||||||
height: 100%;
|
|
||||||
list-style: none;
|
|
||||||
padding: 5px 10px;
|
|
||||||
border-radius: 7px 7px 0 0;
|
|
||||||
border: solid 1px transparent;
|
|
||||||
border-bottom: none;
|
|
||||||
margin-right: 6px;
|
|
||||||
background-color: #f0f0f0;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul.tabLinks li.deselected > a {
|
|
||||||
color: #6d6d6d;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul.tabLinks li:hover {
|
|
||||||
background-color: #fafafa;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul.tabLinks li.selected {
|
|
||||||
background-color: #c5f0f5;
|
|
||||||
border-color: #aaa;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul.tabLinks a {
|
|
||||||
font-size: 120%;
|
|
||||||
display: block;
|
|
||||||
outline: none;
|
|
||||||
text-decoration: none;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul.tabLinks li h2 {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.tab {
|
|
||||||
}
|
|
||||||
|
|
||||||
div.selected {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.deselected {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.tab table {
|
|
||||||
min-width: 350px;
|
|
||||||
width: auto;
|
|
||||||
border-collapse: collapse;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.tab th, div.tab table {
|
|
||||||
border-bottom: solid 1px #d0d0d0;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.tab th {
|
|
||||||
text-align: left;
|
|
||||||
white-space: nowrap;
|
|
||||||
padding-left: 6em;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.tab th:first-child {
|
|
||||||
padding-left: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.tab td {
|
|
||||||
white-space: nowrap;
|
|
||||||
padding-left: 6em;
|
|
||||||
padding-top: 5px;
|
|
||||||
padding-bottom: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.tab td:first-child {
|
|
||||||
padding-left: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.tab td.numeric, div.tab th.numeric {
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
span.code {
|
|
||||||
display: inline-block;
|
|
||||||
margin-top: 0;
|
|
||||||
margin-bottom: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
span.code pre {
|
|
||||||
font-size: 11pt;
|
|
||||||
padding: 10px;
|
|
||||||
margin: 0;
|
|
||||||
background-color: #f7f7f7;
|
|
||||||
border: solid 1px #d0d0d0;
|
|
||||||
min-width: 700px;
|
|
||||||
width: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
span.wrapped pre {
|
|
||||||
word-wrap: break-word;
|
|
||||||
white-space: pre-wrap;
|
|
||||||
word-break: break-all;
|
|
||||||
}
|
|
||||||
|
|
||||||
label.hidden {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
@@ -1,97 +0,0 @@
|
|||||||
|
|
||||||
#summary {
|
|
||||||
margin-top: 30px;
|
|
||||||
margin-bottom: 40px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#summary table {
|
|
||||||
border-collapse: collapse;
|
|
||||||
}
|
|
||||||
|
|
||||||
#summary td {
|
|
||||||
vertical-align: top;
|
|
||||||
}
|
|
||||||
|
|
||||||
.breadcrumbs, .breadcrumbs a {
|
|
||||||
color: #606060;
|
|
||||||
}
|
|
||||||
|
|
||||||
.infoBox {
|
|
||||||
width: 110px;
|
|
||||||
padding-top: 15px;
|
|
||||||
padding-bottom: 15px;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.infoBox p {
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.counter, .percent {
|
|
||||||
font-size: 120%;
|
|
||||||
font-weight: bold;
|
|
||||||
margin-bottom: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#duration {
|
|
||||||
width: 125px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#successRate, .summaryGroup {
|
|
||||||
border: solid 2px #d0d0d0;
|
|
||||||
-moz-border-radius: 10px;
|
|
||||||
border-radius: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#successRate {
|
|
||||||
width: 140px;
|
|
||||||
margin-left: 35px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#successRate .percent {
|
|
||||||
font-size: 180%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.success, .success a {
|
|
||||||
color: #008000;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.success, #successRate.success {
|
|
||||||
background-color: #bbd9bb;
|
|
||||||
border-color: #008000;
|
|
||||||
}
|
|
||||||
|
|
||||||
.failures, .failures a {
|
|
||||||
color: #b60808;
|
|
||||||
}
|
|
||||||
|
|
||||||
.skipped, .skipped a {
|
|
||||||
color: #c09853;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.failures, #successRate.failures {
|
|
||||||
background-color: #ecdada;
|
|
||||||
border-color: #b60808;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul.linkList {
|
|
||||||
padding-left: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul.linkList li {
|
|
||||||
list-style: none;
|
|
||||||
margin-bottom: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.code {
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
.clipboard-copy-btn {
|
|
||||||
position: absolute;
|
|
||||||
top: 8px;
|
|
||||||
right: 8px;
|
|
||||||
padding: 4px 8px;
|
|
||||||
font-size: 0.9em;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
@@ -1,145 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
|
||||||
<meta http-equiv="x-ua-compatible" content="IE=edge"/>
|
|
||||||
<title>Test results - Test Summary</title>
|
|
||||||
<link href="css/base-style.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<link href="css/style.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script src="js/report.js" type="text/javascript"></script>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="content">
|
|
||||||
<h1>Test Summary</h1>
|
|
||||||
<div id="summary">
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<div class="summaryGroup">
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<div class="infoBox" id="tests">
|
|
||||||
<div class="counter">1</div>
|
|
||||||
<p>tests</p>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<div class="infoBox" id="failures">
|
|
||||||
<div class="counter">1</div>
|
|
||||||
<p>failures</p>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<div class="infoBox" id="ignored">
|
|
||||||
<div class="counter">0</div>
|
|
||||||
<p>ignored</p>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<div class="infoBox" id="duration">
|
|
||||||
<div class="counter">0.293s</div>
|
|
||||||
<p>duration</p>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<div class="infoBox failures" id="successRate">
|
|
||||||
<div class="percent">0%</div>
|
|
||||||
<p>successful</p>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<div class="tab-container">
|
|
||||||
<ul class="tabLinks">
|
|
||||||
<li>
|
|
||||||
<a href="#">Failed tests</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="#">Packages</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="#">Classes</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<div class="tab">
|
|
||||||
<h2>Failed tests</h2>
|
|
||||||
<ul class="linkList">
|
|
||||||
<li>
|
|
||||||
<a href="classes/Gradle%2320Test%2320Executor%23201.html">Gradle Test Executor 1</a>.
|
|
||||||
<a href="classes/Gradle%2320Test%2320Executor%23201.html#failed to execute tests">failed to execute tests</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="tab">
|
|
||||||
<h2>Packages</h2>
|
|
||||||
<table>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>Package</th>
|
|
||||||
<th>Tests</th>
|
|
||||||
<th>Failures</th>
|
|
||||||
<th>Ignored</th>
|
|
||||||
<th>Duration</th>
|
|
||||||
<th>Success rate</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td class="failures">
|
|
||||||
<a href="packages/default-package.html">default-package</a>
|
|
||||||
</td>
|
|
||||||
<td>1</td>
|
|
||||||
<td>1</td>
|
|
||||||
<td>0</td>
|
|
||||||
<td>0.293s</td>
|
|
||||||
<td class="failures">0%</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<div class="tab">
|
|
||||||
<h2>Classes</h2>
|
|
||||||
<table>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>Class</th>
|
|
||||||
<th>Tests</th>
|
|
||||||
<th>Failures</th>
|
|
||||||
<th>Ignored</th>
|
|
||||||
<th>Duration</th>
|
|
||||||
<th>Success rate</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td class="failures">
|
|
||||||
<a href="classes/Gradle%2320Test%2320Executor%23201.html">Gradle Test Executor 1</a>
|
|
||||||
</td>
|
|
||||||
<td>1</td>
|
|
||||||
<td>1</td>
|
|
||||||
<td>0</td>
|
|
||||||
<td>0.293s</td>
|
|
||||||
<td class="failures">0%</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="footer">
|
|
||||||
<p>
|
|
||||||
<div>
|
|
||||||
<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
|
|
||||||
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
|
|
||||||
</label>
|
|
||||||
</div>Generated by
|
|
||||||
<a href="https://www.gradle.org">Gradle 9.1.0</a> at 03.12.2025, 16:01:59</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,243 +0,0 @@
|
|||||||
(function (window, document) {
|
|
||||||
"use strict";
|
|
||||||
|
|
||||||
function changeElementClass(element, classValue) {
|
|
||||||
if (element.getAttribute("className")) {
|
|
||||||
element.setAttribute("className", classValue);
|
|
||||||
} else {
|
|
||||||
element.setAttribute("class", classValue);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function getClassAttribute(element) {
|
|
||||||
if (element.getAttribute("className")) {
|
|
||||||
return element.getAttribute("className");
|
|
||||||
} else {
|
|
||||||
return element.getAttribute("class");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function addClass(element, classValue) {
|
|
||||||
changeElementClass(element, getClassAttribute(element) + " " + classValue);
|
|
||||||
}
|
|
||||||
|
|
||||||
function removeClass(element, classValue) {
|
|
||||||
changeElementClass(element, getClassAttribute(element).replace(classValue, ""));
|
|
||||||
}
|
|
||||||
|
|
||||||
function getCheckBox() {
|
|
||||||
return document.getElementById("line-wrapping-toggle");
|
|
||||||
}
|
|
||||||
|
|
||||||
function getLabelForCheckBox() {
|
|
||||||
return document.getElementById("label-for-line-wrapping-toggle");
|
|
||||||
}
|
|
||||||
|
|
||||||
function findCodeBlocks() {
|
|
||||||
const codeBlocks = [];
|
|
||||||
const tabContainers = getTabContainers();
|
|
||||||
for (let i = 0; i < tabContainers.length; i++) {
|
|
||||||
const spans = tabContainers[i].getElementsByTagName("span");
|
|
||||||
for (let i = 0; i < spans.length; ++i) {
|
|
||||||
if (spans[i].className.indexOf("code") >= 0) {
|
|
||||||
codeBlocks.push(spans[i]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return codeBlocks;
|
|
||||||
}
|
|
||||||
|
|
||||||
function forAllCodeBlocks(operation) {
|
|
||||||
const codeBlocks = findCodeBlocks();
|
|
||||||
|
|
||||||
for (let i = 0; i < codeBlocks.length; ++i) {
|
|
||||||
operation(codeBlocks[i], "wrapped");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function toggleLineWrapping() {
|
|
||||||
const checkBox = getCheckBox();
|
|
||||||
|
|
||||||
if (checkBox.checked) {
|
|
||||||
forAllCodeBlocks(addClass);
|
|
||||||
} else {
|
|
||||||
forAllCodeBlocks(removeClass);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function initClipboardCopyButton() {
|
|
||||||
document.querySelectorAll(".clipboard-copy-btn").forEach((button) => {
|
|
||||||
const copyElementId = button.getAttribute("data-copy-element-id");
|
|
||||||
const elementWithCodeToSelect = document.getElementById(copyElementId);
|
|
||||||
|
|
||||||
button.addEventListener("click", () => {
|
|
||||||
const text = elementWithCodeToSelect.innerText.trim();
|
|
||||||
navigator.clipboard
|
|
||||||
.writeText(text)
|
|
||||||
.then(() => {
|
|
||||||
button.textContent = "Copied!";
|
|
||||||
setTimeout(() => {
|
|
||||||
button.textContent = "Copy";
|
|
||||||
}, 1500);
|
|
||||||
})
|
|
||||||
.catch((err) => {
|
|
||||||
alert("Failed to copy to the clipboard: '" + err.message + "'. Check JavaScript console for more details.")
|
|
||||||
console.warn("Failed to copy to the clipboard", err);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function initControls() {
|
|
||||||
if (findCodeBlocks().length > 0) {
|
|
||||||
const checkBox = getCheckBox();
|
|
||||||
const label = getLabelForCheckBox();
|
|
||||||
|
|
||||||
checkBox.onclick = toggleLineWrapping;
|
|
||||||
checkBox.checked = false;
|
|
||||||
|
|
||||||
removeClass(label, "hidden");
|
|
||||||
}
|
|
||||||
|
|
||||||
initClipboardCopyButton()
|
|
||||||
}
|
|
||||||
|
|
||||||
class TabManager {
|
|
||||||
baseId;
|
|
||||||
tabs;
|
|
||||||
titles;
|
|
||||||
headers;
|
|
||||||
|
|
||||||
constructor(baseId, tabs, titles, headers) {
|
|
||||||
this.baseId = baseId;
|
|
||||||
this.tabs = tabs;
|
|
||||||
this.titles = titles;
|
|
||||||
this.headers = headers;
|
|
||||||
}
|
|
||||||
|
|
||||||
select(i) {
|
|
||||||
this.deselectAll();
|
|
||||||
|
|
||||||
changeElementClass(this.tabs[i], "tab selected");
|
|
||||||
changeElementClass(this.headers[i], "selected");
|
|
||||||
|
|
||||||
while (this.headers[i].firstChild) {
|
|
||||||
this.headers[i].removeChild(this.headers[i].firstChild);
|
|
||||||
}
|
|
||||||
|
|
||||||
const a = document.createElement("a");
|
|
||||||
|
|
||||||
a.appendChild(document.createTextNode(this.titles[i]));
|
|
||||||
this.headers[i].appendChild(a);
|
|
||||||
}
|
|
||||||
|
|
||||||
deselectAll() {
|
|
||||||
for (let i = 0; i < this.tabs.length; i++) {
|
|
||||||
changeElementClass(this.tabs[i], "tab deselected");
|
|
||||||
changeElementClass(this.headers[i], "deselected");
|
|
||||||
|
|
||||||
while (this.headers[i].firstChild) {
|
|
||||||
this.headers[i].removeChild(this.headers[i].firstChild);
|
|
||||||
}
|
|
||||||
|
|
||||||
const a = document.createElement("a");
|
|
||||||
|
|
||||||
const id = this.baseId + "-tab" + i;
|
|
||||||
a.setAttribute("id", id);
|
|
||||||
a.setAttribute("href", "#tab" + i);
|
|
||||||
a.onclick = () => {
|
|
||||||
this.select(i);
|
|
||||||
return false;
|
|
||||||
};
|
|
||||||
a.appendChild(document.createTextNode(this.titles[i]));
|
|
||||||
|
|
||||||
this.headers[i].appendChild(a);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function getTabContainers() {
|
|
||||||
const tabContainers = Array.from(document.getElementsByClassName("tab-container"));
|
|
||||||
|
|
||||||
// Used by existing TabbedPageRenderer users, which have not adjusted to use TabsRenderer yet.
|
|
||||||
const legacyContainer = document.getElementById("tabs");
|
|
||||||
if (legacyContainer) {
|
|
||||||
tabContainers.push(legacyContainer);
|
|
||||||
}
|
|
||||||
|
|
||||||
return tabContainers;
|
|
||||||
}
|
|
||||||
|
|
||||||
function initTabs() {
|
|
||||||
let tabGroups = 0;
|
|
||||||
|
|
||||||
function createTab(num, container) {
|
|
||||||
const tabElems = findTabs(container);
|
|
||||||
const tabManager = new TabManager("tabs" + num, tabElems, findTitles(tabElems), findHeaders(container));
|
|
||||||
tabManager.select(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
const tabContainers = getTabContainers();
|
|
||||||
|
|
||||||
for (let i = 0; i < tabContainers.length; i++) {
|
|
||||||
createTab(tabGroups, tabContainers[i]);
|
|
||||||
tabGroups++;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
function findTabs(container) {
|
|
||||||
return findChildElements(container, "DIV", "tab");
|
|
||||||
}
|
|
||||||
|
|
||||||
function findHeaders(container) {
|
|
||||||
const owner = findChildElements(container, "UL", "tabLinks");
|
|
||||||
return findChildElements(owner[0], "LI", null);
|
|
||||||
}
|
|
||||||
|
|
||||||
function findTitles(tabs) {
|
|
||||||
const titles = [];
|
|
||||||
|
|
||||||
for (let i = 0; i < tabs.length; i++) {
|
|
||||||
const tab = tabs[i];
|
|
||||||
const header = findChildElements(tab, "H2", null)[0];
|
|
||||||
|
|
||||||
header.parentNode.removeChild(header);
|
|
||||||
|
|
||||||
if (header.innerText) {
|
|
||||||
titles.push(header.innerText);
|
|
||||||
} else {
|
|
||||||
titles.push(header.textContent);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return titles;
|
|
||||||
}
|
|
||||||
|
|
||||||
function findChildElements(container, name, targetClass) {
|
|
||||||
const elements = [];
|
|
||||||
const children = container.childNodes;
|
|
||||||
|
|
||||||
for (let i = 0; i < children.length; i++) {
|
|
||||||
const child = children.item(i);
|
|
||||||
|
|
||||||
if (child.nodeType === 1 && child.nodeName === name) {
|
|
||||||
if (targetClass && child.className.indexOf(targetClass) < 0) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
elements.push(child);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return elements;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Entry point.
|
|
||||||
|
|
||||||
window.onload = function() {
|
|
||||||
initTabs();
|
|
||||||
initControls();
|
|
||||||
};
|
|
||||||
} (window, window.document));
|
|
||||||
@@ -1,115 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
|
||||||
<meta http-equiv="x-ua-compatible" content="IE=edge"/>
|
|
||||||
<title>Test results - Default package</title>
|
|
||||||
<link href="../css/base-style.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<link href="../css/style.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script src="../js/report.js" type="text/javascript"></script>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="content">
|
|
||||||
<h1>Default package</h1>
|
|
||||||
<div class="breadcrumbs">
|
|
||||||
<a href="../index.html">all</a> > default-package</div>
|
|
||||||
<div id="summary">
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<div class="summaryGroup">
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<div class="infoBox" id="tests">
|
|
||||||
<div class="counter">1</div>
|
|
||||||
<p>tests</p>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<div class="infoBox" id="failures">
|
|
||||||
<div class="counter">1</div>
|
|
||||||
<p>failures</p>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<div class="infoBox" id="ignored">
|
|
||||||
<div class="counter">0</div>
|
|
||||||
<p>ignored</p>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<div class="infoBox" id="duration">
|
|
||||||
<div class="counter">0.293s</div>
|
|
||||||
<p>duration</p>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<div class="infoBox failures" id="successRate">
|
|
||||||
<div class="percent">0%</div>
|
|
||||||
<p>successful</p>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<div class="tab-container">
|
|
||||||
<ul class="tabLinks">
|
|
||||||
<li>
|
|
||||||
<a href="#">Failed tests</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="#">Classes</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<div class="tab">
|
|
||||||
<h2>Failed tests</h2>
|
|
||||||
<ul class="linkList">
|
|
||||||
<li>
|
|
||||||
<a href="../classes/Gradle%2320Test%2320Executor%23201.html">Gradle Test Executor 1</a>.
|
|
||||||
<a href="../classes/Gradle%2320Test%2320Executor%23201.html#failed to execute tests">failed to execute tests</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="tab">
|
|
||||||
<h2>Classes</h2>
|
|
||||||
<table>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>Class</th>
|
|
||||||
<th>Tests</th>
|
|
||||||
<th>Failures</th>
|
|
||||||
<th>Ignored</th>
|
|
||||||
<th>Duration</th>
|
|
||||||
<th>Success rate</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tr>
|
|
||||||
<td class="failures">
|
|
||||||
<a href="../classes/Gradle%2320Test%2320Executor%23201.html">Gradle Test Executor 1</a>
|
|
||||||
</td>
|
|
||||||
<td>1</td>
|
|
||||||
<td>1</td>
|
|
||||||
<td>0</td>
|
|
||||||
<td>0.293s</td>
|
|
||||||
<td class="failures">0%</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="footer">
|
|
||||||
<p>
|
|
||||||
<div>
|
|
||||||
<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
|
|
||||||
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
|
|
||||||
</label>
|
|
||||||
</div>Generated by
|
|
||||||
<a href="https://www.gradle.org">Gradle 9.1.0</a> at 03.12.2025, 16:01:59</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,88 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<testsuite name="Gradle Test Executor 1" tests="1" skipped="0" failures="1" errors="0" timestamp="2025-12-03T15:01:58.682Z" hostname="FERRYRY" time="0.293">
|
|
||||||
<properties/>
|
|
||||||
<testcase name="failed to execute tests" classname="Gradle Test Executor 1" time="0.293">
|
|
||||||
<failure message="org.gradle.api.internal.tasks.testing.TestSuiteExecutionException: Could not execute test class 'java.BadCasesTest'." type="org.gradle.api.internal.tasks.testing.TestSuiteExecutionException">org.gradle.api.internal.tasks.testing.TestSuiteExecutionException: Could not execute test class 'java.BadCasesTest'.
|
|
||||||
at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:56)
|
|
||||||
at java.base@17.0.12/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
|
||||||
at java.base@17.0.12/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
|
|
||||||
at java.base@17.0.12/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
|
|
||||||
at java.base@17.0.12/java.lang.reflect.Method.invoke(Method.java:568)
|
|
||||||
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
|
|
||||||
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
|
|
||||||
at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
|
|
||||||
at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:92)
|
|
||||||
at jdk.proxy2/jdk.proxy2.$Proxy6.processTestClass(Unknown Source)
|
|
||||||
at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:177)
|
|
||||||
at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126)
|
|
||||||
at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103)
|
|
||||||
at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63)
|
|
||||||
at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56)
|
|
||||||
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122)
|
|
||||||
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72)
|
|
||||||
at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
|
|
||||||
at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
|
|
||||||
Caused by: java.lang.SecurityException: Prohibited package name: java
|
|
||||||
at java.base/java.lang.ClassLoader.preDefineClass(ClassLoader.java:900)
|
|
||||||
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1015)
|
|
||||||
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
|
|
||||||
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862)
|
|
||||||
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760)
|
|
||||||
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681)
|
|
||||||
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639)
|
|
||||||
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
|
|
||||||
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
|
|
||||||
at java.base/java.lang.Class.forName0(Native Method)
|
|
||||||
at java.base/java.lang.Class.forName(Class.java:467)
|
|
||||||
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.loadClass(JUnitPlatformTestClassProcessor.java:184)
|
|
||||||
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.access$100(JUnitPlatformTestClassProcessor.java:62)
|
|
||||||
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.execute(JUnitPlatformTestClassProcessor.java:120)
|
|
||||||
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.execute(JUnitPlatformTestClassProcessor.java:110)
|
|
||||||
at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor.processTestClass(AbstractJUnitTestClassProcessor.java:61)
|
|
||||||
at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:54)
|
|
||||||
... 18 more
|
|
||||||
</failure>
|
|
||||||
<failure message="org.gradle.api.internal.tasks.testing.TestSuiteExecutionException: Could not execute test class 'java.GoodCasesTest'." type="org.gradle.api.internal.tasks.testing.TestSuiteExecutionException">org.gradle.api.internal.tasks.testing.TestSuiteExecutionException: Could not execute test class 'java.GoodCasesTest'.
|
|
||||||
at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:56)
|
|
||||||
at java.base@17.0.12/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
|
||||||
at java.base@17.0.12/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
|
|
||||||
at java.base@17.0.12/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
|
|
||||||
at java.base@17.0.12/java.lang.reflect.Method.invoke(Method.java:568)
|
|
||||||
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
|
|
||||||
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
|
|
||||||
at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
|
|
||||||
at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:92)
|
|
||||||
at jdk.proxy2/jdk.proxy2.$Proxy6.processTestClass(Unknown Source)
|
|
||||||
at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:177)
|
|
||||||
at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126)
|
|
||||||
at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103)
|
|
||||||
at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63)
|
|
||||||
at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56)
|
|
||||||
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122)
|
|
||||||
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72)
|
|
||||||
at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
|
|
||||||
at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
|
|
||||||
Caused by: java.lang.SecurityException: Prohibited package name: java
|
|
||||||
at java.base/java.lang.ClassLoader.preDefineClass(ClassLoader.java:900)
|
|
||||||
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1015)
|
|
||||||
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
|
|
||||||
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862)
|
|
||||||
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760)
|
|
||||||
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681)
|
|
||||||
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639)
|
|
||||||
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
|
|
||||||
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
|
|
||||||
at java.base/java.lang.Class.forName0(Native Method)
|
|
||||||
at java.base/java.lang.Class.forName(Class.java:467)
|
|
||||||
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.loadClass(JUnitPlatformTestClassProcessor.java:184)
|
|
||||||
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.access$100(JUnitPlatformTestClassProcessor.java:62)
|
|
||||||
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.execute(JUnitPlatformTestClassProcessor.java:120)
|
|
||||||
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.execute(JUnitPlatformTestClassProcessor.java:110)
|
|
||||||
at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor.processTestClass(AbstractJUnitTestClassProcessor.java:61)
|
|
||||||
at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:54)
|
|
||||||
... 18 more
|
|
||||||
</failure>
|
|
||||||
</testcase>
|
|
||||||
<system-out><![CDATA[]]></system-out>
|
|
||||||
<system-err><![CDATA[]]></system-err>
|
|
||||||
</testsuite>
|
|
||||||
Binary file not shown.
@@ -1,20 +0,0 @@
|
|||||||
Manifest-Version: 1.0
|
|
||||||
Created-By: Apache Maven Bundle Plugin 6.0.0
|
|
||||||
Build-Jdk-Spec: 21
|
|
||||||
Build-Tool-Jdk-Spec: 21
|
|
||||||
Automatic-Module-Name: org.jacoco.agent
|
|
||||||
Bnd-LastModified: 1743583180503
|
|
||||||
Bundle-Description: JaCoCo Agent
|
|
||||||
Bundle-License: https://www.eclipse.org/legal/epl-2.0/
|
|
||||||
Bundle-ManifestVersion: 2
|
|
||||||
Bundle-Name: JaCoCo Agent
|
|
||||||
Bundle-RequiredExecutionEnvironment: J2SE-1.5
|
|
||||||
Bundle-SymbolicName: org.jacoco.agent
|
|
||||||
Bundle-Vendor: Mountainminds GmbH & Co. KG
|
|
||||||
Bundle-Version: 0.8.13.202504020838
|
|
||||||
Eclipse-SourceReferences: scm:git:git://github.com/jacoco/jacoco.git;pat
|
|
||||||
h="org.jacoco.agent";commitId=78d5eff856bbe6129f05012e40c13d1840e20598
|
|
||||||
Export-Package: org.jacoco.agent;version="0.8.13"
|
|
||||||
Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=1.5))"
|
|
||||||
Tool: Bnd-7.0.0.202310060912
|
|
||||||
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
artifactId=org.jacoco.agent
|
|
||||||
groupId=org.jacoco
|
|
||||||
version=0.8.13
|
|
||||||
@@ -1,106 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!--
|
|
||||||
Copyright (c) 2009, 2025 Mountainminds GmbH & Co. KG and Contributors
|
|
||||||
This program and the accompanying materials are made available under
|
|
||||||
the terms of the Eclipse Public License 2.0 which is available at
|
|
||||||
http://www.eclipse.org/legal/epl-2.0
|
|
||||||
|
|
||||||
SPDX-License-Identifier: EPL-2.0
|
|
||||||
|
|
||||||
Contributors:
|
|
||||||
Evgeny Mandrikov - initial API and implementation
|
|
||||||
-->
|
|
||||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
|
||||||
|
|
||||||
<parent>
|
|
||||||
<groupId>org.jacoco</groupId>
|
|
||||||
<artifactId>org.jacoco.build</artifactId>
|
|
||||||
<version>0.8.13</version>
|
|
||||||
<relativePath>../org.jacoco.build</relativePath>
|
|
||||||
</parent>
|
|
||||||
|
|
||||||
<artifactId>org.jacoco.agent</artifactId>
|
|
||||||
|
|
||||||
<name>JaCoCo :: Agent</name>
|
|
||||||
<description>JaCoCo Agent</description>
|
|
||||||
|
|
||||||
<build>
|
|
||||||
<sourceDirectory>src</sourceDirectory>
|
|
||||||
|
|
||||||
<plugins>
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
|
||||||
<artifactId>maven-dependency-plugin</artifactId>
|
|
||||||
<executions>
|
|
||||||
<execution>
|
|
||||||
<phase>prepare-package</phase>
|
|
||||||
<goals>
|
|
||||||
<goal>copy</goal>
|
|
||||||
</goals>
|
|
||||||
<configuration>
|
|
||||||
<artifactItems>
|
|
||||||
<artifactItem>
|
|
||||||
<groupId>${project.groupId}</groupId>
|
|
||||||
<artifactId>org.jacoco.agent.rt</artifactId>
|
|
||||||
<classifier>all</classifier>
|
|
||||||
<version>${project.version}</version>
|
|
||||||
<destFileName>jacocoagent.jar</destFileName>
|
|
||||||
</artifactItem>
|
|
||||||
</artifactItems>
|
|
||||||
<outputDirectory>${project.build.directory}/classes</outputDirectory>
|
|
||||||
<overWriteReleases>false</overWriteReleases>
|
|
||||||
<overWriteSnapshots>false</overWriteSnapshots>
|
|
||||||
<overWriteIfNewer>true</overWriteIfNewer>
|
|
||||||
</configuration>
|
|
||||||
</execution>
|
|
||||||
</executions>
|
|
||||||
</plugin>
|
|
||||||
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.codehaus.mojo</groupId>
|
|
||||||
<artifactId>build-helper-maven-plugin</artifactId>
|
|
||||||
<executions>
|
|
||||||
<execution>
|
|
||||||
<id>attach-artifacts</id>
|
|
||||||
<phase>package</phase>
|
|
||||||
<goals>
|
|
||||||
<goal>attach-artifact</goal>
|
|
||||||
</goals>
|
|
||||||
<configuration>
|
|
||||||
<artifacts>
|
|
||||||
<artifact>
|
|
||||||
<file>${project.build.directory}/classes/jacocoagent.jar</file>
|
|
||||||
<type>jar</type>
|
|
||||||
<classifier>runtime</classifier>
|
|
||||||
</artifact>
|
|
||||||
</artifacts>
|
|
||||||
</configuration>
|
|
||||||
</execution>
|
|
||||||
</executions>
|
|
||||||
</plugin>
|
|
||||||
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.apache.felix</groupId>
|
|
||||||
<artifactId>maven-bundle-plugin</artifactId>
|
|
||||||
<executions>
|
|
||||||
<execution>
|
|
||||||
<phase>process-classes</phase>
|
|
||||||
<goals>
|
|
||||||
<goal>manifest</goal>
|
|
||||||
</goals>
|
|
||||||
</execution>
|
|
||||||
</executions>
|
|
||||||
</plugin>
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
|
||||||
<artifactId>maven-jar-plugin</artifactId>
|
|
||||||
<configuration>
|
|
||||||
<archive>
|
|
||||||
<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
|
|
||||||
</archive>
|
|
||||||
</configuration>
|
|
||||||
</plugin>
|
|
||||||
</plugins>
|
|
||||||
</build>
|
|
||||||
</project>
|
|
||||||
@@ -1,72 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title>About</title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
|
||||||
</head>
|
|
||||||
<body lang="EN-US">
|
|
||||||
<h2>About This Content</h2>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
2025/04/02
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<h3>License</h3>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
All Content in this distribution is made available by Mountainminds GmbH & Co.
|
|
||||||
KG, Munich. Unless otherwise indicated below, the Content is provided to you
|
|
||||||
under the terms and conditions of the Eclipse Public License Version 2.0
|
|
||||||
("EPL"). A copy of the EPL is available at
|
|
||||||
<a href="https://www.eclipse.org/legal/epl-2.0/">https://www.eclipse.org/legal/epl-2.0/</a>.
|
|
||||||
For purposes of the EPL, "Program" will mean the Content.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<h3>Third Party Content</h3>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
The Content includes items that have been sourced from third parties as set
|
|
||||||
out below.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<h4>ASM</h4>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
<a href="https://asm.ow2.io/">ASM 9.8</a> is subject to the terms and
|
|
||||||
conditions of the following license:
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
ASM: a very small and fast Java bytecode manipulation framework
|
|
||||||
Copyright (c) 2000-2011 INRIA, France Telecom
|
|
||||||
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 copyright holders nor the names of its
|
|
||||||
contributors may be used to endorse or promote products derived from
|
|
||||||
this software without specific prior written permission.
|
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 COPYRIGHT OWNER 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.
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,2 +0,0 @@
|
|||||||
Manifest-Version: 1.0
|
|
||||||
|
|
||||||
44
git show bc0e30860cb3697296a4ef6ee22735a5c83cf522
Normal file
44
git show bc0e30860cb3697296a4ef6ee22735a5c83cf522
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
[33mcommit bc0e30860cb3697296a4ef6ee22735a5c83cf522[m[33m ([m[1;36mHEAD[m[33m -> [m[1;32mdatabase[m[33m)[m
|
||||||
|
Author: Riley Schneider <88947587+Ferryry@users.noreply.github.com>
|
||||||
|
Date: Wed Dec 3 17:30:33 2025 +0100
|
||||||
|
|
||||||
|
First database tests
|
||||||
|
|
||||||
|
[33mcommit 26f7ecbee653b98739e75eb8c4707745f252a1a8[m[33m ([m[1;31morigin/main[m[33m, [m[1;31morigin/HEAD[m[33m, [m[1;32mmain[m[33m)[m
|
||||||
|
Merge: 668a76e2 eed1390c
|
||||||
|
Author: Ferryry <rileymika99@gmail.com>
|
||||||
|
Date: Wed Dec 3 16:44:45 2025 +0100
|
||||||
|
|
||||||
|
Merge pull request 'Skeleton' (#1) from Skeleton into main
|
||||||
|
|
||||||
|
Reviewed-on: https://home.luithardt.cloud:5400/KevinSchoenmayer/GseTDDUebungKCLR/pulls/1
|
||||||
|
|
||||||
|
[33mcommit eed1390c6513f1b5e827fd6e09c91f54da7be463[m[33m ([m[1;31morigin/Skeleton[m[33m, [m[1;32mSkeleton[m[33m)[m
|
||||||
|
Author: Riley Schneider <88947587+Ferryry@users.noreply.github.com>
|
||||||
|
Date: Wed Dec 3 16:42:41 2025 +0100
|
||||||
|
|
||||||
|
Remove database folder
|
||||||
|
|
||||||
|
[33mcommit b732d8d4b50abc5893d138c6a574fef0025981e0[m
|
||||||
|
Author: Riley Schneider <88947587+Ferryry@users.noreply.github.com>
|
||||||
|
Date: Wed Dec 3 16:38:10 2025 +0100
|
||||||
|
|
||||||
|
Initial Commit
|
||||||
|
|
||||||
|
[33mcommit c5e26bf594b282ab3d665590d0535b61afa18247[m
|
||||||
|
Author: KevinSchoenmayer <kschoenmay@stud.hs-heilbronn.de>
|
||||||
|
Date: Wed Dec 3 16:28:17 2025 +0100
|
||||||
|
|
||||||
|
Rough Skeleton for Tests and Classes
|
||||||
|
|
||||||
|
[33mcommit 668a76e26cfd908499bb74a7732269206062df86[m
|
||||||
|
Author: KevinSchoenmayer <kschoenmay@stud.hs-heilbronn.de>
|
||||||
|
Date: Wed Dec 3 15:26:09 2025 +0100
|
||||||
|
|
||||||
|
Initial Test Push
|
||||||
|
|
||||||
|
[33mcommit 2d963c7fd8ab188625c0e2bc9203c4d55ee07aa3[m
|
||||||
|
Author: KevinSchoenmayer <kschoenmay@stud.hs-heilbronn.de>
|
||||||
|
Date: Wed Dec 3 15:18:41 2025 +0100
|
||||||
|
|
||||||
|
Initial commit
|
||||||
@@ -1,5 +1,7 @@
|
|||||||
package hhn.temp.project.provider;
|
package hhn.temp.project.provider;
|
||||||
|
|
||||||
|
import java.sql.SQLException;
|
||||||
|
|
||||||
public interface Database {
|
public interface Database {
|
||||||
public boolean connect();
|
public void connect() throws SQLException;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,36 @@
|
|||||||
|
package hhn.temp.project.provider;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.List;
|
||||||
|
import java.sql.*;
|
||||||
|
|
||||||
|
public class SimpleDatabaseManager<E> implements DatabaseManager<E> {
|
||||||
|
|
||||||
|
private Connection connection;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void saveObjects(Collection<E> objects) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Collection<E> getObjects() {
|
||||||
|
return List.of();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void saveObject(E object) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public E getObject(int id) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void connect() throws SQLException {
|
||||||
|
throw new SQLException();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,8 +1,7 @@
|
|||||||
package java;
|
package hhn.temp.project;
|
||||||
|
|
||||||
import hhn.temp.project.AssignmentManager;
|
import hhn.temp.project.AssignmentManager;
|
||||||
import org.junit.jupiter.api.BeforeEach;
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
import org.junit.jupiter.api.Assertions.*;
|
|
||||||
import org.junit.jupiter.api.DisplayName;
|
import org.junit.jupiter.api.DisplayName;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
39
test/hhn/temp/project/DatabaseBadCasesTest.java
Normal file
39
test/hhn/temp/project/DatabaseBadCasesTest.java
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
package hhn.temp.project;
|
||||||
|
|
||||||
|
import hhn.temp.project.provider.DatabaseManager;
|
||||||
|
import hhn.temp.project.provider.SimpleDatabaseManager;
|
||||||
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
|
import org.junit.jupiter.api.DisplayName;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import java.sql.SQLException;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
|
public class DatabaseBadCasesTest {
|
||||||
|
|
||||||
|
private DatabaseManager<DatabaseGoodCasesTest.TestClass> databaseManager;
|
||||||
|
|
||||||
|
public class TestClass {
|
||||||
|
private int id;
|
||||||
|
private String dataString;
|
||||||
|
private int dataInteger;
|
||||||
|
|
||||||
|
public TestClass(int id, String dataString, int dataInteger) {
|
||||||
|
this.id = id;
|
||||||
|
this.dataString = dataString;
|
||||||
|
this.dataInteger = dataInteger;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@BeforeEach
|
||||||
|
public void setup() {
|
||||||
|
databaseManager = new SimpleDatabaseManager<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@DisplayName("Assert connection failed")
|
||||||
|
public void assertConnectionFailed() {
|
||||||
|
assertThrows(SQLException.class, () -> databaseManager.connect());
|
||||||
|
}
|
||||||
|
}
|
||||||
33
test/hhn/temp/project/DatabaseGoodCasesTest.java
Normal file
33
test/hhn/temp/project/DatabaseGoodCasesTest.java
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
package hhn.temp.project;
|
||||||
|
|
||||||
|
import hhn.temp.project.provider.DatabaseManager;
|
||||||
|
import hhn.temp.project.provider.SimpleDatabaseManager;
|
||||||
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
|
|
||||||
|
import java.sql.SQLException;
|
||||||
|
|
||||||
|
public class DatabaseGoodCasesTest {
|
||||||
|
|
||||||
|
private DatabaseManager<DatabaseGoodCasesTest.TestClass> databaseManager;
|
||||||
|
|
||||||
|
public class TestClass {
|
||||||
|
private int id;
|
||||||
|
private String dataString;
|
||||||
|
private int dataInteger;
|
||||||
|
|
||||||
|
public TestClass(int id, String dataString, int dataInteger) {
|
||||||
|
this.id = id;
|
||||||
|
this.dataString = dataString;
|
||||||
|
this.dataInteger = dataInteger;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@BeforeEach
|
||||||
|
public void setup() {
|
||||||
|
databaseManager = new SimpleDatabaseManager<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void assertConnectToDatabase() throws SQLException {
|
||||||
|
databaseManager.connect();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,8 +1,7 @@
|
|||||||
package java;
|
package hhn.temp.project;
|
||||||
|
|
||||||
import hhn.temp.project.AssignmentManager;
|
import hhn.temp.project.AssignmentManager;
|
||||||
import org.junit.jupiter.api.BeforeEach;
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
import org.junit.jupiter.api.Assertions.*;
|
|
||||||
import org.junit.jupiter.api.DisplayName;
|
import org.junit.jupiter.api.DisplayName;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
@@ -15,6 +14,7 @@ public class GoodCasesTest {
|
|||||||
public void setup() {
|
public void setup() {
|
||||||
AssignmentManager manager = new AssignmentManager();
|
AssignmentManager manager = new AssignmentManager();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@DisplayName("Assert that a Worker can add a Task")
|
@DisplayName("Assert that a Worker can add a Task")
|
||||||
public void assertWorkerCanAddTask() {
|
public void assertWorkerCanAddTask() {
|
||||||
Reference in New Issue
Block a user