Initial import
[jpf-core.git] / src / classes / org / junit / Test.java
1 /*
2  * Copyright (C) 2014, United States Government, as represented by the
3  * Administrator of the National Aeronautics and Space Administration.
4  * All rights reserved.
5  *
6  * The Java Pathfinder core (jpf-core) platform is licensed under the
7  * Apache License, Version 2.0 (the "License"); you may not use this file except
8  * in compliance with the License. You may obtain a copy of the License at
9  * 
10  *        http://www.apache.org/licenses/LICENSE-2.0. 
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and 
16  * limitations under the License.
17  */
18
19 /**
20  * this annotation type is shamelessly lifted from JUnit.
21  *
22  * The only reason it is here is that we don't want to pull the whole of JUnit into
23  * our 'classpath' when executing TestJPF classes under JPF, just because some of
24  * the test SUT methods have a @Test annotation.
25  *
26  * Lifting/masking classes in general is not a good practice, but it seems to
27  * be the lesser of two evils in this case, given that we really don't need
28  * anything but just the simple annotation type.
29  *
30  * NOTE - this might be different if we execute junit under JPF, which is the
31  * reason why we include the @Test features here. However - this assumes that @Test
32  * is such a basic JUnit type that it won't change
33  */
34
35 package org.junit;
36
37 import java.lang.annotation.ElementType;
38 import java.lang.annotation.Retention;
39 import java.lang.annotation.RetentionPolicy;
40 import java.lang.annotation.Target;
41
42 @Retention(RetentionPolicy.RUNTIME)
43 @Target({ElementType.METHOD})
44 public @interface Test {
45
46   static class None extends Throwable {
47     private static final long serialVersionUID= 1L;
48     private None() {}
49   }
50
51   Class<? extends Throwable> expected() default None.class;
52
53   long timeout() default 0L;
54 }