private static TestUnitsResults[] runAllTests(ProjectModel model, IOpenMethod[] tests) { if (tests != null) { TestUnitsResults[] results = new TestUnitsResults[tests.length]; for (int i = 0; i < tests.length; i++) { TestSuite testSuite = new TestSuite((TestSuiteMethod) tests[i]); results[i] = model.runTest(testSuite); } return results; } return new TestUnitsResults[0]; }
public boolean isRunmethod() { return testSuite.getTestSuiteMethod().isRunmethod(); }
@Override public String getName() { return testSuite.getName(); }
private boolean isTestForOverallTestSuiteMethod(TestSuite testSuite) { return testSuite.getTestSuiteMethod() != null && testSuite.getNumberOfTests() == testSuite.getTestSuiteMethod() .getNumberOfTests(); }
private TestUnitsResults runTest(TestSuite test, boolean isParallel) { IOpenClass openClass = compiledOpenClass.getOpenClassWithErrors(); if (!isParallel) { return test.invokeSequentially(openClass, 1); } else { return test.invokeParallel(testSuiteExecutor, openClass, 1); } }
TestUnitsResults result; if (testSuiteExecutor == null) { result = new TestSuite(test, testRunner).invokeSequentially(openClass, 1L); } else { result = new TestSuite(test, testRunner).invokeParallel(testSuiteExecutor, openClass, 1L);
private String getTestName(TestUnitsResults test) { TestSuite testSuite = test.getTestSuite(); TestSuiteMethod testSuiteMethod = testSuite.getTestSuiteMethod(); if (testSuiteMethod != null) { return TableSyntaxNodeUtils.getTestName(testSuiteMethod); } else { if (testSuite.getNumberOfTests() > 0) { return testSuite.getTest(0).getTestedMethod().getName(); } else { return "Unknown"; } } }
public void addLastBenchmark() { TestSuite testSuite = runTestHelper.getTestSuite(); String testSuiteUri = testSuite.getUri(); WebStudio studio = WebStudioUtils.getWebStudio(); IOpenMethod table = studio.getModel().getMethod(testSuiteUri); for (int i = 0; i < testSuite.getNumberOfTests(); i++) { try { BenchmarkInfo buLast = studio.getModel().benchmarkSingleTest(testSuite, i, 3000); BenchmarkInfoView biv = new BenchmarkInfoView(buLast, tableId, testName, testInfo, testSuite.getTest(i).getExecutionParams()); studio.addBenchmark(biv); benchmarkResults.add(biv);
public static ParameterWithValueDeclaration[] getContextParams(TestSuite test, TestDescription testCase) { List<ParameterWithValueDeclaration> params = new ArrayList<ParameterWithValueDeclaration>(); TestSuiteMethod testMethod = test.getTestSuiteMethod(); IRulesRuntimeContext context = testCase.getRuntimeContext(test.getArgumentsCloner()); for (int i = 0; i < testMethod.getColumnsCount(); i++) { String columnName = testMethod.getColumnName(i); if (columnName != null && columnName.startsWith(TestMethodHelper.CONTEXT_NAME)) { Object value = context != null ? context.getValue(columnName.replace(TestMethodHelper.CONTEXT_NAME + ".", "")) : null; params.add(new ParameterWithValueDeclaration(columnName, value)); } } return params.toArray(new ParameterWithValueDeclaration[params.size()]); } }
@Override public void runNtimes(long times) throws Exception { try { TestDescription test = testSuite.getTest(testIndex); OpenLArgumentsCloner cloner = testSuite.getArgumentsCloner(); testRunner.runTest(test, target, env, cloner, times); } catch (Throwable t) { Log.error("Error during Method run: ", t); throw RuntimeExceptionWrapper.wrap(t); } } };
public TestUnitsResults invoke(Object target, IRuntimeEnv env) { TestUnitsResults testUnitResults = new TestUnitsResults(this); for (int i = 0; i < getNumberOfTests(); i++) { TestDescription currentTest = getTest(i); ITestUnit testUnit = testRunner.runTest(currentTest, target, env, cloner, 1L); testUnitResults.addTestUnit(testUnit); } return testUnitResults; }
@Override public int nUnitRuns() { return testSuite.getNumberOfTests(); }
public TestUnitsResults invokeSequentially(final IOpenClass openClass, long ntimes) { TestUnitsResults testUnitResults = new TestUnitsResults(this); for (int i = 0; i < getNumberOfTests(); i++) { final ITestUnit testUnit = executeTest(openClass, i, ntimes); testUnitResults.addTestUnit(testUnit); } return testUnitResults; }
private int getLastColumn(TestUnitsResults test, List<List<FieldDescriptor>> nonEmptyFields) { int lastColumn = FIRST_COLUMN; // ID column TestSuite testSuite = test.getTestSuite(); ParameterWithValueDeclaration[] params = testSuite.getTest(0).getExecutionParams(); for (int i = 0; i < params.length; i++) { ParameterWithValueDeclaration param = params[i]; if (isHasPK(param)) { lastColumn++; // _PK_ column } List<FieldDescriptor> fields = nonEmptyFields.get(i); if (fields == null) { // Simple type lastColumn++; } else { for (FieldDescriptor field : fields) { lastColumn += field.getLeafNodeCount(); } } } return lastColumn; }
public void write(SXSSFSheet sheet, List<TestUnitsResults> tests) { if (tests.isEmpty()) { return; } int rowNum = FIRST_ROW; int colNum = FIRST_COLUMN; for (TestUnitsResults test : tests) { if (test.getTestSuite().getNumberOfTests() == 0) { continue; } Row row = sheet.createRow(rowNum); String testName = getTestName(test); createCell(row, colNum, "Parameters of " + testName, styles.parametersInfo); rowNum += 2; // Skip one row // Finding non empty fields from the test results is very expensive. Find them only once and then reuse // everywhere where needed. List<List<FieldDescriptor>> nonEmptyFields = getAllNonEmptyFields(test.getTestSuite().getTests()); // Create header final Cursor start = new Cursor(rowNum, colNum); Cursor lowestRight = writeHeaderForFields(sheet, start, test, nonEmptyFields); rowNum = lowestRight.getRowNum() + 1; colNum = FIRST_COLUMN; rowNum = writeValuesForFields(sheet, new Cursor(rowNum, colNum), test, nonEmptyFields); rowNum += SPACE_BETWEEN_RESULTS; } }
@Override public void runNtimes(long times) throws Exception { testSuite.invokeSequentially(openClass, times); } };
TestUnitsResults result; if (testSuiteExecutor == null) { result = new TestSuite(test, testRunner).invokeSequentially(openClass, 1L); } else { result = new TestSuite(test, testRunner).invokeParallel(testSuiteExecutor, openClass, 1L);
private boolean isTestForOverallTestSuiteMethod(TestSuite testSuite) { return testSuite.getTestSuiteMethod() != null && testSuite.getNumberOfTests() == testSuite.getTestSuiteMethod() .getNumberOfTests(); }
public void addLastBenchmark() { TestSuite testSuite = runTestHelper.getTestSuite(); String testSuiteUri = testSuite.getUri(); WebStudio studio = WebStudioUtils.getWebStudio(); IOpenMethod table = studio.getModel().getMethod(testSuiteUri); for (int i = 0; i < testSuite.getNumberOfTests(); i++) { try { BenchmarkInfo buLast = studio.getModel().benchmarkSingleTest(testSuite, i, 3000); BenchmarkInfoView biv = new BenchmarkInfoView(buLast, tableId, testName, testInfo, testSuite.getTest(i).getExecutionParams()); studio.addBenchmark(biv); benchmarkResults.add(biv);