blob: f0cb5a2922796d983f58ca9019ca72f1f3a850c9 [file] [log] [blame]
/*
* Copyright 2010 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package com.google.web.bindery.requestfactory.vm;
import com.google.web.bindery.requestfactory.server.BoxesAndPrimitivesJreTest;
import com.google.web.bindery.requestfactory.server.ComplexKeysJreTest;
import com.google.web.bindery.requestfactory.server.FanoutReceiverJreTest;
import com.google.web.bindery.requestfactory.server.FindServiceJreTest;
import com.google.web.bindery.requestfactory.server.LocatorJreTest;
import com.google.web.bindery.requestfactory.server.RequestFactoryChainedContextJreTest;
import com.google.web.bindery.requestfactory.server.RequestFactoryExceptionPropagationJreTest;
import com.google.web.bindery.requestfactory.server.RequestFactoryJreTest;
import com.google.web.bindery.requestfactory.server.RequestFactoryPolymorphicJreTest;
import com.google.web.bindery.requestfactory.server.RequestFactoryUnicodeEscapingJreTest;
import com.google.web.bindery.requestfactory.server.ServiceInheritanceJreTest;
import com.google.web.bindery.requestfactory.server.ServiceLocatorTest;
import com.google.web.bindery.requestfactory.shared.impl.SimpleEntityProxyIdTest;
import junit.framework.Test;
import junit.framework.TestResult;
import junit.framework.TestSuite;
/**
* Suite of RequestFactory tests that require the JRE (without GWT).
*
* @see com.google.web.bindery.requestfactory.gwt.RequestFactoryGwtJreSuite
*/
public class RequestFactoryJreSuite {
public static Test suite() {
TestSuite suite = new TestSuite("requestfactory package tests that require the JRE");
suite.addTestSuite(BoxesAndPrimitivesJreTest.class);
suite.addTestSuite(ComplexKeysJreTest.class);
suite.addTestSuite(FanoutReceiverJreTest.class);
suite.addTestSuite(FindServiceJreTest.class);
suite.addTestSuite(LocatorJreTest.class);
suite.addTestSuite(RequestFactoryChainedContextJreTest.class);
suite.addTestSuite(RequestFactoryExceptionPropagationJreTest.class);
suite.addTestSuite(RequestFactoryJreTest.class);
suite.addTestSuite(RequestFactoryPolymorphicJreTest.class);
suite.addTestSuite(RequestFactoryUnicodeEscapingJreTest.class);
suite.addTestSuite(ServiceInheritanceJreTest.class);
suite.addTestSuite(ServiceLocatorTest.class);
suite.addTestSuite(SimpleEntityProxyIdTest.class);
return suite;
}
/**
* Used to test the JVM-only client package.
*/
public static void main(String[] args) {
int count;
boolean keepRunning;
switch (args.length) {
case 0:
keepRunning = false;
count = 1;
break;
case 1:
keepRunning = false;
count = Integer.parseInt(args[0], 10);
break;
case 2:
if ("-k".equals(args[0])) {
keepRunning = true;
count = Integer.parseInt(args[1], 10);
break;
}
// Fall-through intentional
default:
System.err.println(RequestFactoryJreSuite.class.getName() + " [-k] <number of cycles>");
System.err.println(" -k: keep running");
System.err.println(" -1 cycles means run forever");
System.exit(-1);
return;
}
final Test suite = suite();
for (int i = 0; i < count || count == -1; i++) {
TestResult run = junit.textui.TestRunner.run(suite);
if (!keepRunning && (run.errorCount() + run.failureCount()) > 0) {
System.exit(-1);
}
}
}
}