org.junitpioneer.jupiter.ReadsDefaultTimeZone Maven / Gradle / Ivy
/*
* Copyright 2016-2022 the original author or authors.
*
* All rights reserved. This program and the accompanying materials are
* made available under the terms of the Eclipse Public License v2.0 which
* accompanies this distribution and is available at
*
* http://www.eclipse.org/legal/epl-v20.html
*/
package org.junitpioneer.jupiter;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.junit.jupiter.api.parallel.ResourceAccessMode;
import org.junit.jupiter.api.parallel.ResourceLock;
import org.junit.jupiter.api.parallel.Resources;
/**
* Marks tests that read the default time zone but don't use the time zone extension themselves.
*
* During
* parallel test execution,
* all tests annotated with {@link DefaultTimeZone}, {@link ReadsDefaultTimeZone}, and {@link WritesDefaultTimeZone}
* are scheduled in a way that guarantees correctness under mutation of shared global state.
*
*
* For more details and examples, see
* the documentation on @DefaultLocale
and @DefaultTimeZone
.
*
*
* @since 0.9
*/
@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.CONSTRUCTOR, ElementType.METHOD, ElementType.PACKAGE, ElementType.TYPE })
@Inherited
@ResourceLock(value = Resources.TIME_ZONE, mode = ResourceAccessMode.READ)
public @interface ReadsDefaultTimeZone {
}