/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You 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 org.apache.jmeter.testelement;

/**
 * TestListener interface is used for methods that are called at different
 * stages of each test.
 *
 * This interface is kept for compatibility; users should implement one of
 * the more specific interfaces.
 */
public interface TestListener extends TestIterationListener, TestEventListener {

}
@@ -837,16 +837,75 @@
 ement;%0A%0A
+import org.apache.jmeter.engine.event.LoopIterationEvent;%0A%0A
 /**%0A * T
@@ -1008,197 +1008,2339 @@
 *%0A *
- This interface is kept for compatibility; users should implement one of%0A * the more specific interfaces.%0A */%0Apublic interface TestListener extends TestIterationListener, TestEventListener %7B%0A
+/%0Apublic interface TestListener %7B%0A    /**%0A     * %3Cp%3E%0A     * Called just before the start of the test from the main engine thread.%0A     *%0A     * This is before the test elements are cloned.%0A     *%0A     * Note that not all the test%0A     * variables will have been set up at this point.%0A     * %3C/p%3E%0A     *%0A     * %3Cp%3E%0A     * %3Cb%3E%0A     * N.B. testStarted() and testEnded() are called from different threads.%0A     * %3C/b%3E%0A     * %3C/p%3E%0A     * @see org.apache.jmeter.engine.StandardJMeterEngine#run()%0A     *%0A     */%0A    public void testStarted();%0A%0A    /**%0A     * %3Cp%3E%0A     * Called just before the start of the test from the main engine thread.%0A     *%0A     * This is before the test elements are cloned.%0A     *%0A     * Note that not all the test%0A     * variables will have been set up at this point.%0A     * %3C/p%3E%0A     *%0A     * %3Cp%3E%0A     * %3Cb%3E%0A     * N.B. testStarted() and testEnded() are called from different threads.%0A     * %3C/b%3E%0A     * %3C/p%3E%0A     * @see org.apache.jmeter.engine.StandardJMeterEngine#run()%0A     * @param host name of host%0A     */%0A    public void testStarted(String host);%0A%0A    /**%0A     * %3Cp%3E%0A     * Called once for all threads after the end of a test.%0A     *%0A     * This will use the same element instances as at the start of the test.%0A     * %3C/p%3E%0A     *%0A     * %3Cp%3E%0A     * %3Cb%3E%0A     * N.B. testStarted() and testEnded() are called from different threads.%0A     * %3C/b%3E%0A     * %3C/p%3E%0A     * @see org.apache.jmeter.engine.StandardJMeterEngine#stopTest()%0A     *%0A     */%0A    public void testEnded();%0A%0A    /**%0A     * %3Cp%3E%0A     * Called once for all threads after the end of a test.%0A     *%0A     * This will use the same element instances as at the start of the test.%0A     * %3C/p%3E%0A     *%0A     * %3Cp%3E%0A     * %3Cb%3E%0A     * N.B. testStarted() and testEnded() are called from different threads.%0A     * %3C/b%3E%0A     * %3C/p%3E%0A     * @see org.apache.jmeter.engine.StandardJMeterEngine#stopTest()%0A     * @param host name of host%0A     *%0A     */%0A%0A    public void testEnded(String host);%0A%0A    /**%0A     * Each time through a Thread Group's test script, an iteration event is%0A     * fired for each thread.%0A     *%0A     * This will be after the test elements have been cloned, so in general%0A     * the instance will not be the same as the ones the start/end methods call.%0A     *%0A     * @param event%0A     */%0A    public void testIterationStart(LoopIterationEvent event);
 %0A%7D

Revert the TestListener interface change. Not sure it's possible to maintain compatibility without making the handling code very messy Bugzilla Id: 53749