private Object invokeTimedTestMethod()

in base/src/main/java/org/apache/sling/performance/FrameworkPerformanceMethod.java [233:264]


    private Object invokeTimedTestMethod(Method testMethodToInvoke,
            DescriptiveStatistics statistics, Object... params)
            throws Throwable {

        Object response = null;

        recursiveCallSpecificMethod(this.target.getClass(), this.target,
                BeforeMethodInvocation.class);

        // TODO: implement the method to run a before a specific test method
        // recursiveCallSpecificMethod(this.target.getClass(), this.target,
        // BeforeSpecificTest.class);

        // timing the test method execution
        // System.out.println("Start test: " + testMethodToInvoke.getName());
        long start = System.nanoTime();
        response = super.invokeExplosively(this.target, params);
        long timeMilliseconds = TimeUnit.MILLISECONDS.convert(System.nanoTime() - start, TimeUnit.NANOSECONDS);
        statistics.addValue(timeMilliseconds);

        // System.out.println("End test: " + testMethodToInvoke.getName());

        // System.out.println("Test execution time (ms): " + timeMilliseconds);

        // TODO: implement the method to run a after a specific test method
        // recursiveCallSpecificMethod(this.target.getClass(), this.target,
        // AfterSpecificTest.class);

        recursiveCallSpecificMethod(this.target.getClass(), this.target, AfterMethodInvocation.class);

        return response;
    }