Search in sources :

Example 1 with ExcludeCategoryFilter

use of org.apache.jmeter.junit.categories.ExcludeCategoryFilter in project jmeter by apache.

the class AllTests method main.

/**
     * Starts a run through all unit tests found in the specified classpaths.
     * The first argument should be a list of paths to search. The second
     * argument is optional and specifies a properties file used to initialize
     * logging. The third argument is also optional, and specifies a class that
     * implements the UnitTestManager interface. This provides a means of
     * initializing your application with a configuration file prior to the
     * start of any unit tests.
     * 
     * @param args
     *            the command line arguments
     */
public static void main(String[] args) {
    if (args.length < 1) {
        System.out.println("You must specify a comma-delimited list of paths to search " + "for unit tests");
        return;
    }
    String home = new File(System.getProperty("user.dir")).getParent();
    System.out.println("Setting JMeterHome: " + home);
    JMeterUtils.setJMeterHome(home);
    initializeManager(args);
    log.info("JMeterVersion={}", JMeterUtils.getJMeterVersion());
    System.out.println("JMeterVersion=" + JMeterUtils.getJMeterVersion());
    logprop("java.version", true);
    logprop("java.vm.name");
    logprop("java.vendor");
    logprop("java.home", true);
    logprop("file.encoding", true);
    // Display actual encoding used (will differ if file.encoding is not recognised)
    System.out.println("default encoding=" + Charset.defaultCharset());
    log.info("default encoding={}", Charset.defaultCharset());
    logprop("user.home");
    logprop("user.dir", true);
    logprop("user.language");
    logprop("user.region");
    logprop("user.country");
    logprop("user.variant");
    log.info("Locale={}", Locale.getDefault());
    System.out.println("Locale=" + Locale.getDefault());
    logprop("os.name", true);
    logprop("os.version", true);
    logprop("os.arch");
    logprop("java.class.version");
    String cp = System.getProperty("java.class.path");
    String[] cpe = JOrphanUtils.split(cp, java.io.File.pathSeparator);
    StringBuilder sb = new StringBuilder(3000);
    sb.append("java.class.path=");
    for (String path : cpe) {
        sb.append("\n");
        sb.append(path);
        if (new File(path).exists()) {
            sb.append(" - OK");
        } else {
            sb.append(" - ??");
        }
    }
    log.info(sb.toString());
    try {
        int maxKeyLen = Cipher.getMaxAllowedKeyLength("AES");
        System.out.println("JCE max key length = " + maxKeyLen);
    } catch (NoSuchAlgorithmException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }
    System.out.println("+++++++++++");
    logprop("java.awt.headless", true);
    logprop("java.awt.graphicsenv", true);
    System.out.println("------------");
    try {
        System.out.println("Searching junit tests in : " + args[0]);
        List<String> tests = findJMeterJUnitTests(args[0]);
        Class<?>[] classes = asClasses(tests);
        JUnitCore jUnitCore = new JUnitCore();
        // this listener is in the internal junit package
        // if it breaks, replace it with a custom text listener
        RunListener listener = new TextListener(new RealSystem());
        jUnitCore.addListener(listener);
        Request request = Request.classes(new Computer(), classes);
        if (GraphicsEnvironment.isHeadless()) {
            request = request.filterWith(new ExcludeCategoryFilter(NeedGuiTests.class));
        }
        Result result = jUnitCore.run(request);
        System.exit(result.wasSuccessful() ? 0 : 1);
    } catch (Exception e) {
        e.printStackTrace();
        System.exit(1);
    }
}
Also used : JUnitCore(org.junit.runner.JUnitCore) Request(org.junit.runner.Request) TextListener(org.junit.internal.TextListener) NoSuchAlgorithmException(java.security.NoSuchAlgorithmException) ExcludeCategoryFilter(org.apache.jmeter.junit.categories.ExcludeCategoryFilter) IOException(java.io.IOException) NoSuchAlgorithmException(java.security.NoSuchAlgorithmException) RunListener(org.junit.runner.notification.RunListener) Result(org.junit.runner.Result) RealSystem(org.junit.internal.RealSystem) Computer(org.junit.runner.Computer) File(java.io.File)

Aggregations

File (java.io.File)1 IOException (java.io.IOException)1 NoSuchAlgorithmException (java.security.NoSuchAlgorithmException)1 ExcludeCategoryFilter (org.apache.jmeter.junit.categories.ExcludeCategoryFilter)1 RealSystem (org.junit.internal.RealSystem)1 TextListener (org.junit.internal.TextListener)1 Computer (org.junit.runner.Computer)1 JUnitCore (org.junit.runner.JUnitCore)1 Request (org.junit.runner.Request)1 Result (org.junit.runner.Result)1 RunListener (org.junit.runner.notification.RunListener)1