X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=tests%2Forg.simantics.scl.osgi.tests%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fosgi%2Ftests%2FTestSCLOsgi.java;h=227381147552c8889994835de885bc6bee584eb4;hp=4554294272ae1b0b07f356477cb44a5d92e06183;hb=887c3c2fc31f3a4fe806c0f59c7b16ba87021636;hpb=5930811a7911090a0c4984380c3b45ed81a93cde diff --git a/tests/org.simantics.scl.osgi.tests/src/org/simantics/scl/osgi/tests/TestSCLOsgi.java b/tests/org.simantics.scl.osgi.tests/src/org/simantics/scl/osgi/tests/TestSCLOsgi.java index 455429427..227381147 100644 --- a/tests/org.simantics.scl.osgi.tests/src/org/simantics/scl/osgi/tests/TestSCLOsgi.java +++ b/tests/org.simantics.scl.osgi.tests/src/org/simantics/scl/osgi/tests/TestSCLOsgi.java @@ -1,7 +1,9 @@ package org.simantics.scl.osgi.tests; -import java.util.ArrayList; -import java.util.concurrent.atomic.AtomicInteger; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.NullProgressMonitor; @@ -15,14 +17,9 @@ import org.simantics.application.arguments.Arguments; import org.simantics.application.arguments.IArgumentFactory; import org.simantics.application.arguments.IArguments; import org.simantics.application.arguments.SimanticsArguments; -import org.simantics.scl.compiler.errors.DoesNotExist; -import org.simantics.scl.compiler.errors.Failable; -import org.simantics.scl.compiler.module.Module; +import org.simantics.scl.compiler.markdown.html.GenerateAllHtmlDocumentation; import org.simantics.scl.osgi.SCLOsgi; -import gnu.trove.procedure.TObjectProcedure; - - public class TestSCLOsgi { private static IProgressMonitor progress = new NullProgressMonitor(); @@ -47,30 +44,17 @@ public class TestSCLOsgi { @Test public void testDataJsonExists() { - ArrayList modulesWithErrors = new ArrayList(); - SCLOsgi.SOURCE_REPOSITORY.forAllModules(new TObjectProcedure() { - @Override - public boolean execute(String moduleName) { - System.out.print(moduleName); - System.out.print(" - "); - Failable module = SCLOsgi.MODULE_REPOSITORY.getModule(moduleName); - if(module.didSucceed()) - System.out.println("succeeded"); - else if(module == DoesNotExist.INSTANCE) - System.out.println("does not exist"); // should not happen - else { - System.out.println("error"); - modulesWithErrors.add(moduleName); - } - return true; - } - }); - if(!modulesWithErrors.isEmpty()) { - StringBuilder b = new StringBuilder(); - b.append("Some SCL modules failed to compile:"); - for(String module : modulesWithErrors) - b.append(' ').append(module); - Assert.fail(b.toString()); + String possibleError = SCLOsgi.compileAllModules(); + if(possibleError != null) { + Assert.fail(possibleError); } } + + @Test + public void exportAllSCLDocumentation() throws IOException { + // "./scldoc" evaluates to "tests/org.simantics.scl.osgi.tests/scldoc" when these tests are ran with Tycho/Maven + Path dir = Paths.get("./scldoc"); + Files.createDirectories(dir); + GenerateAllHtmlDocumentation.generate(SCLOsgi.MODULE_REPOSITORY, dir); + } }