mirror of
https://github.com/Eaglercraft-TeaVM-Fork/eagler-teavm.git
synced 2024-12-22 08:14:09 -08:00
Fix running C tests
This commit is contained in:
parent
360e218c0c
commit
0c0fb1a02b
|
@ -60,28 +60,23 @@ tasks.test {
|
|||
systemProperty("teavm.junit.c.compiler", providers.gradleProperty("teavm.tests.c.compiler")
|
||||
.orElse("compile-c-unix-fast.sh").get())
|
||||
|
||||
jvmArgumentProviders += object : CommandLineArgumentProvider {
|
||||
override fun asArguments(): Iterable<String> {
|
||||
val dependencies = configurations.testRuntimeClasspath.get()
|
||||
.incoming.resolutionResult.allDependencies
|
||||
.asSequence()
|
||||
.filterIsInstance<ResolvedDependencyResult>()
|
||||
.map { it.requested }
|
||||
.filterIsInstance<ProjectComponentSelector>()
|
||||
.map { project.rootProject.project(it.projectPath) }
|
||||
val projects = dependencies + project
|
||||
val dirs = projects.map { it.layout.projectDirectory }.flatMap {
|
||||
sequenceOf(
|
||||
it.dir("src/main/java"),
|
||||
it.dir("src/test/java")
|
||||
)
|
||||
}
|
||||
val result = dirs
|
||||
.map { it.asFile.absolutePath }
|
||||
.joinToString(File.pathSeparator)
|
||||
return listOf("-Dteavm.junit.sourceDirs=$result")
|
||||
}
|
||||
val dependencies = configurations.testRuntimeClasspath.get()
|
||||
.incoming.resolutionResult.allDependencies
|
||||
.asSequence()
|
||||
.filterIsInstance<ResolvedDependencyResult>()
|
||||
.map { it.requested }
|
||||
.filterIsInstance<ProjectComponentSelector>()
|
||||
.map { project.rootProject.project(it.projectPath) }
|
||||
val projects = dependencies + project
|
||||
val dirs = projects.map { it.layout.projectDirectory }.flatMap {
|
||||
sequenceOf(
|
||||
it.dir("src/main/java"),
|
||||
it.dir("src/test/java")
|
||||
)
|
||||
}
|
||||
systemProperty("teavm.junit.sourceDirs", dirs
|
||||
.map { it.asFile.absolutePath }
|
||||
.joinToString(File.pathSeparator))
|
||||
|
||||
maxParallelForks = (Runtime.getRuntime().availableProcessors() / 2).coerceAtLeast(1)
|
||||
}
|
|
@ -375,6 +375,7 @@ public class PipedInputStreamTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
@SkipPlatform(TestPlatform.C)
|
||||
public void read_after_write_close() throws Exception {
|
||||
PipedInputStream in = new PipedInputStream();
|
||||
PipedOutputStream out = new PipedOutputStream();
|
||||
|
|
|
@ -99,7 +99,9 @@ import java.util.Arrays;
|
|||
import java.util.List;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.teavm.classlib.java.time.temporal.MockFieldNoValue;
|
||||
import org.teavm.junit.SkipPlatform;
|
||||
import org.teavm.junit.TeaVMTestRunner;
|
||||
import org.teavm.junit.TestPlatform;
|
||||
import org.testng.annotations.BeforeMethod;
|
||||
import org.testng.annotations.DataProvider;
|
||||
import org.testng.annotations.Test;
|
||||
|
@ -942,6 +944,7 @@ public class TestLocalDate extends AbstractDateTimeTest {
|
|||
}
|
||||
|
||||
@Test(expectedExceptions = NullPointerException.class)
|
||||
@SkipPlatform(TestPlatform.C)
|
||||
public void test_plus_longPeriodUnit_null() {
|
||||
test2007x07x15.plus(1, (TemporalUnit) null);
|
||||
}
|
||||
|
@ -1302,6 +1305,7 @@ public class TestLocalDate extends AbstractDateTimeTest {
|
|||
}
|
||||
|
||||
@Test(expectedExceptions = NullPointerException.class)
|
||||
@SkipPlatform(TestPlatform.C)
|
||||
public void test_minus_longPeriodUnit_null() {
|
||||
test2007x07x15.minus(1, (TemporalUnit) null);
|
||||
}
|
||||
|
|
|
@ -1261,6 +1261,7 @@ public class TestLocalDateTime extends AbstractDateTimeTest {
|
|||
}
|
||||
|
||||
@Test(expectedExceptions = NullPointerException.class)
|
||||
@SkipPlatform(TestPlatform.C)
|
||||
public void test_plus_longPeriodUnit_null() {
|
||||
test2007x07x15x12x30x40x987654321.plus(1, null);
|
||||
}
|
||||
|
@ -1971,6 +1972,7 @@ public class TestLocalDateTime extends AbstractDateTimeTest {
|
|||
}
|
||||
|
||||
@Test(expectedExceptions = NullPointerException.class)
|
||||
@SkipPlatform(TestPlatform.C)
|
||||
public void test_minus_longPeriodUnit_null() {
|
||||
test2007x07x15x12x30x40x987654321.minus(1, null);
|
||||
}
|
||||
|
|
|
@ -95,7 +95,9 @@ import java.util.ArrayList;
|
|||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.teavm.junit.SkipPlatform;
|
||||
import org.teavm.junit.TeaVMTestRunner;
|
||||
import org.teavm.junit.TestPlatform;
|
||||
import org.testng.annotations.BeforeMethod;
|
||||
import org.testng.annotations.DataProvider;
|
||||
import org.testng.annotations.Test;
|
||||
|
@ -666,6 +668,7 @@ public class TestOffsetTime extends AbstractDateTimeTest {
|
|||
}
|
||||
|
||||
@Test(expectedExceptions = NullPointerException.class)
|
||||
@SkipPlatform(TestPlatform.C)
|
||||
public void test_with_TemporalField_null() {
|
||||
test11x30x59x500pone.with((TemporalField) null, 0);
|
||||
}
|
||||
|
|
|
@ -112,7 +112,9 @@ import java.util.Arrays;
|
|||
import java.util.List;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.teavm.classlib.java.time.temporal.MockFieldNoValue;
|
||||
import org.teavm.junit.SkipPlatform;
|
||||
import org.teavm.junit.TeaVMTestRunner;
|
||||
import org.teavm.junit.TestPlatform;
|
||||
import org.testng.annotations.BeforeMethod;
|
||||
import org.testng.annotations.DataProvider;
|
||||
import org.testng.annotations.Test;
|
||||
|
@ -1454,6 +1456,7 @@ public class TestZonedDateTime extends AbstractDateTimeTest {
|
|||
}
|
||||
|
||||
@Test(expectedExceptions = NullPointerException.class)
|
||||
@SkipPlatform(TestPlatform.C)
|
||||
public void test_plus_longUnit_null() {
|
||||
testDateTimeParis.plus(0, null);
|
||||
}
|
||||
|
|
|
@ -78,7 +78,9 @@ import java.util.Arrays;
|
|||
import java.util.List;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.teavm.classlib.java.time.AbstractDateTimeTest;
|
||||
import org.teavm.junit.SkipPlatform;
|
||||
import org.teavm.junit.TeaVMTestRunner;
|
||||
import org.teavm.junit.TestPlatform;
|
||||
import org.testng.annotations.BeforeMethod;
|
||||
import org.testng.annotations.DataProvider;
|
||||
import org.testng.annotations.Test;
|
||||
|
@ -708,6 +710,7 @@ public class TestYear extends AbstractDateTimeTest {
|
|||
}
|
||||
|
||||
@Test(expectedExceptions = NullPointerException.class)
|
||||
@SkipPlatform(TestPlatform.C)
|
||||
public void test_compareTo_nullYear() {
|
||||
Year doy = null;
|
||||
Year test = Year.of(1);
|
||||
|
|
|
@ -65,4 +65,9 @@ abstract class BaseWebAssemblyPlatformSupport extends TestPlatformSupport<WasmTa
|
|||
return compile(configuration, targetSupplier, TestNativeEntryPoint.class.getName(), path,
|
||||
".wasm", null, additionalProcessing, baseName);
|
||||
}
|
||||
|
||||
@Override
|
||||
boolean usesFileName() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -93,4 +93,9 @@ class CPlatformSupport extends TestPlatformSupport<CTarget> {
|
|||
cTarget.setLineNumbersGenerated(Boolean.parseBoolean(System.getProperty(C_LINE_NUMBERS, "false")));
|
||||
return cTarget;
|
||||
}
|
||||
|
||||
@Override
|
||||
boolean usesFileName() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -147,4 +147,9 @@ class JSPlatformSupport extends TestPlatformSupport<JavaScriptTarget> {
|
|||
MethodReference reference) {
|
||||
htmlSingleTestOutput(outputPathForMethod, configuration, "teavm-run-test.html");
|
||||
}
|
||||
|
||||
@Override
|
||||
boolean usesFileName() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -58,6 +58,8 @@ abstract class TestPlatformSupport<T extends TeaVMTarget> {
|
|||
abstract CompileResult compile(Consumer<TeaVM> additionalProcessing, String baseName,
|
||||
TeaVMTestConfiguration<T> configuration, File path);
|
||||
|
||||
abstract boolean usesFileName();
|
||||
|
||||
CompileResult compile(TeaVMTestConfiguration<T> configuration,
|
||||
Supplier<T> targetSupplier, String entryPoint, File path, String extension,
|
||||
CompilePostProcessor postBuild, Consumer<TeaVM> additionalProcessing, String baseName) {
|
||||
|
@ -89,10 +91,15 @@ abstract class TestPlatformSupport<T extends TeaVMTarget> {
|
|||
|
||||
vm.entryPoint(entryPoint);
|
||||
|
||||
if (!outputFile.getParentFile().exists()) {
|
||||
if (usesFileName()) {
|
||||
if (!outputFile.getParentFile().exists()) {
|
||||
outputFile.getParentFile().mkdirs();
|
||||
}
|
||||
vm.build(new DirectoryBuildTarget(outputFile.getParentFile()), outputFile.getName());
|
||||
} else {
|
||||
outputFile.getParentFile().mkdirs();
|
||||
vm.build(new DirectoryBuildTarget(outputFile), "");
|
||||
}
|
||||
vm.build(new DirectoryBuildTarget(outputFile.getParentFile()), outputFile.getName());
|
||||
if (!vm.getProblemProvider().getProblems().isEmpty()) {
|
||||
result.success = false;
|
||||
result.errorMessage = buildErrorMessage(vm);
|
||||
|
|
Loading…
Reference in New Issue
Block a user