package org.simantics.scl.osgi.tests;
-import java.util.ArrayList;
-import java.util.concurrent.atomic.AtomicInteger;
-
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.junit.AfterClass;
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.osgi.SCLOsgi;
-import gnu.trove.procedure.TObjectProcedure;
-
-
public class TestSCLOsgi {
private static IProgressMonitor progress = new NullProgressMonitor();
@Test
public void testDataJsonExists() {
- ArrayList<String> modulesWithErrors = new ArrayList<String>();
- SCLOsgi.SOURCE_REPOSITORY.forAllModules(new TObjectProcedure<String>() {
- @Override
- public boolean execute(String moduleName) {
- System.out.print(moduleName);
- System.out.print(" - ");
- Failable<Module> 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);
}
}
}