blob: 768627eda406562efbceb108383b639a37be6ca7 [file] [log] [blame]
/*********************************************************************
* Copyright (c) 2018 The University of York.
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which is available at https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
**********************************************************************/
package org.eclipse.epsilon.egx.engine.test.acceptance;
import java.io.IOException;
import java.nio.file.Path;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.function.Supplier;
import org.eclipse.epsilon.common.util.FileUtil;
import org.eclipse.epsilon.egl.EgxModule;
import org.eclipse.epsilon.egl.IEgxModule;
import org.eclipse.epsilon.egl.concurrent.*;
import org.eclipse.epsilon.egl.launch.EgxRunConfiguration;
import org.eclipse.epsilon.eol.engine.test.acceptance.util.EolAcceptanceTestUtil;
public class EgxAcceptanceTestUtil extends EolAcceptanceTestUtil {
private EgxAcceptanceTestUtil() {}
public static final String
testsBase = getTestBaseDir(EgxAcceptanceTestSuite.class),
thriftBase = testsBase+"thrift/",
thriftMetamodel = "thrift.ecore",
thriftModels[] = {/*"ThriftTest.xmi", "SimpleService.xmi",*/ "fb303.xmi"},
thriftScripts[] = {"thrift-rb", "thrift-java"};
public static final List<String[]> thriftInputs;
static {
thriftInputs = addAllInputs(
new String[]{thriftScripts[0]},
thriftModels, thriftMetamodel, "egx",
thriftBase+"ruby/", thriftBase, thriftBase
);
/*thriftInputs.addAll(addAllInputs(
new String[]{thriftScripts[1]},
thriftModels, thriftMetamodel, "egx",
thriftBase+"java/", thriftBase, thriftBase
));*/
}
public static Collection<Supplier<? extends IEgxModule>> modules(boolean includeStandard) {
return parallelModules(THREADS, includeStandard ? EgxModule::new : null/*,
EgxModuleParallel::new, EgxModuleParallelAnnotation::new, EgxModuleParallelRules::new*/);
}
public static Collection<EgxRunConfiguration> getScenarios(
List<String[]> testInputs,
Collection<Supplier<? extends IEgxModule>> moduleGetters) {
// Load thrift-helper-functions.eol
FileUtil.getFile("thrift/thrift-helper-functions.eol", EgxAcceptanceTestUtil.class);
return getScenarios(EgxRunConfiguration.class, testInputs, moduleGetters, null, EgxAcceptanceTestUtil.class);
}
public static void deleteOutputDirectories() throws IOException {
//FileUtil.deleteDirectory(thriftBase+"java/output");
FileUtil.deleteDirectory(thriftBase+"ruby/output");
}
public static Map<Path, String> getOutputFiles() throws IOException {
Map<Path, String> outputs = FileUtil.readDirectory(thriftBase+"ruby/output");
//outputs.putAll(FileUtil.readDirectory(thriftBase+"java/output"));
return outputs;
}
}