com.nordstrom.automation.junit.Run Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of junit-foundation Show documentation
Show all versions of junit-foundation Show documentation
This is the foundation framework for JUnit automation
package com.nordstrom.automation.junit;
import static com.nordstrom.automation.junit.LifecycleHooks.toMapKey;
import java.util.ArrayDeque;
import java.util.Deque;
import java.util.EmptyStackException;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.Callable;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.CopyOnWriteArraySet;
import org.junit.runner.Description;
import org.junit.runner.notification.RunListener;
import org.junit.runner.notification.RunNotifier;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.google.common.base.Function;
import net.bytebuddy.implementation.bind.annotation.Argument;
import net.bytebuddy.implementation.bind.annotation.SuperCall;
import net.bytebuddy.implementation.bind.annotation.This;
/**
* This class declares the interceptor for the {@link org.junit.runners.ParentRunner#run run} method.
*/
public class Run {
private static final ThreadLocal> RUNNER_STACK;
private static final ThreadLocal> METHOD_DEPTH;
private static final Function NEW_INSTANCE;
private static final Set START_NOTIFIED = new CopyOnWriteArraySet<>();
private static final Map CHILD_TO_PARENT = new ConcurrentHashMap<>();
private static final Map RUNNER_TO_NOTIFIER = new ConcurrentHashMap<>();
private static final Set NOTIFIERS = new CopyOnWriteArraySet<>();
private static final Logger LOGGER = LoggerFactory.getLogger(Run.class);
static {
RUNNER_STACK = new ThreadLocal>() {
@Override
protected Deque
© 2015 - 2025 Weber Informatics LLC | Privacy Policy