Package org.apache.drill.exec.testing
Interface ControlsInjector
- All Known Implementing Classes:
ExecutionControlsInjector
,NoOpControlsInjector
public interface ControlsInjector
-
Method Summary
Modifier and TypeMethodDescriptiongetLatch
(ExecutionControls executionControls, String desc) Used to insert a latch in site class.Class<?>
Get the injector's owning class.<T extends Throwable>
voidinjectChecked
(ExecutionControls executionControls, String desc, Class<T> exceptionClass) Inject (throw) a checked exception at this point, if an injection is specified, and it is time for it to be thrown.void
injectInterruptiblePause
(ExecutionControls executionControls, String desc, org.slf4j.Logger logger) Insert a pause that can be interrupted usingThread.interrupt()
at the given site point, if such an injection is specified (i.e.void
injectPause
(ExecutionControls executionControls, String desc, org.slf4j.Logger logger) Pauses at this point, if such an injection is specified (i.e.void
injectUnchecked
(ExecutionControls executionControls, String desc) Inject (throw) an unchecked exception at this point, if an injection is specified, and it is time for it to be thrown.
-
Method Details
-
getSiteClass
Class<?> getSiteClass()Get the injector's owning class.- Returns:
- the injector's owning class
-
injectUnchecked
Inject (throw) an unchecked exception at this point, if an injection is specified, and it is time for it to be thrown.Implementors use this in their code at a site where they want to simulate an exception during testing.
- Parameters:
executionControls
- the controls in the current contextdesc
- the site descriptor throws the exception specified by the injection, if it is time
-
injectChecked
<T extends Throwable> void injectChecked(ExecutionControls executionControls, String desc, Class<T> exceptionClass) throws T Inject (throw) a checked exception at this point, if an injection is specified, and it is time for it to be thrown.Implementors use this in their code at a site where they want to simulate an exception during testing.
- Parameters:
executionControls
- the controls in the current contextdesc
- the site descriptorexceptionClass
- the expected class of the exception (or a super class of it)- Throws:
T
- the exception specified by the injection, if it is time
-
injectPause
Pauses at this point, if such an injection is specified (i.e. matches the site description).Implementors use this in their code at a site where they want to simulate a pause during testing.
- Parameters:
executionControls
- the controls in the current contextdesc
- the site descriptorlogger
- logger of the class containing the injection site
-
injectInterruptiblePause
void injectInterruptiblePause(ExecutionControls executionControls, String desc, org.slf4j.Logger logger) throws InterruptedException Insert a pause that can be interrupted usingThread.interrupt()
at the given site point, if such an injection is specified (i.e. matches the site description).Implementors use this in their code at a site where they want to simulate a interruptible pause during testing.
- Parameters:
executionControls
- the controls in the current contextdesc
- the site descriptorlogger
- logger of the class containing the injection site- Throws:
InterruptedException
- if interrupted usingThread.interrupt()
-
getLatch
Used to insert a latch in site class. SeeCountDownLatchInjection
andorg.apache.drill.exec.testing.TestCountDownLatchInjection
for usage.- Parameters:
executionControls
- the controls in the current contextdesc
- the site descriptor
-