patterntesting.runtime.annotation
Annotation Type SkipTestOn


@Documented
@Target(value={METHOD,TYPE})
@Retention(value=RUNTIME)
public @interface SkipTestOn

You have a test which should be skipped on Linux or another operationg system? Or a test which should be skipped on a special JavaVM? Then you can use this annotation to skip a single test (put the annotation in front of the test method) or all tests in this class (put the annotation in front of the class).
What is the difference to @Broken? "Broken" means, the test does not work for the moment and should be (temporarily) skipped. "SkipTestOn" means, this test is not constructed for that platform and should be therefore skipped on it.

Since:
1.0 (25.01.2010)
Author:
oliver
See Also:
Broken, RunTestOn

Optional Element Summary
 String[] host
          With this attribute you can express that the test should be skipped on the given host(s).
 String[] javaVendor
          You want the test to be skipped on a special vendor VM?
 String[] javaVersion
          You want the test to be skipped on a special version of the VM, e.g. on version "1.6.0_17" because you know that on this version there is a bug that caused your test not to work?
 String[] osArch
          You want the test only to be skipped for the Intel architecture?
 String[] osName
          Should a test be skipped on a single platform e.g. for Linux?
 String[] osVersion
          You want the test only to be skipped for a special version of the operating system?
 String[] property
          You have some tests that does not run when you are offline?
 String[] user
          Does the test should skipped only for user "Bob" because he is not allow to use the database?
 String[] value
          Here you can define the name of the operating system or version of the JDK for which a test should be skipped.
 

value

public abstract String[] value
Here you can define the name of the operating system or version of the JDK for which a test should be skipped. But it is better to use the attributes "osName" or "javaVersion" here because otherwise PatternTesting tries to guess what you mean.
Since 1.2 wildcards (*, ?) are supported.

See Also:
osName(), javaVersion()
Default:
""

osName

public abstract String[] osName
Should a test be skipped on a single platform e.g. for Linux? Use "Linux" to mark it as broken only for the Linux platform. Instead of "Linux" you can use any other operation system. The format must be the same as returned by the system property "os.name". Valid values are: Multiple values like { "Linux", "Mac OS X" } are allowed. If no operation system is given you will get an IllegalArgumentException.
The format of this attribute must be the same as returned by system property "os.name".
Since 1.2 wildcards (*, ?) are supported.

Default:
""

osArch

public abstract String[] osArch
You want the test only to be skipped for the Intel architecture? Then you can use this attribute to limit it on this platform. You can define a single platform like "x86_64" for an Intel-Mac with 64 bit or multiple platform like { "x86_32", "x86_64" } for Intel Mac with 42 or 64 bit.
The format of this attribute must be the same as returned by the system property "os.arch".
Since 1.2 wildcards (*, ?) are supported.

Default:
""

osVersion

public abstract String[] osVersion
You want the test only to be skipped for a special version of the operating system? Use this attribute to limit it. In contradiction to the other attributes the real version must start with the given version. I.e. if you define "10.6" as version this would match only real version "10.6.1" or "10.6.2".
You can't define a range of skipped versions. But several versions are allowed. So if you want to skip the tests in version 10.6.1 till 10.6.3 define { "10.6.1", "10.6.2", "10.6.3" } as values. The format of this attribute must be the same as returned by the system property "osVersion".
Since 1.2 wildcards (*, ?) are supported.

Default:
""

host

public abstract String[] host
With this attribute you can express that the test should be skipped on the given host(s). You can define the host by its name or by its IP address.
Since 1.2 wildcards (*, ?) are supported.

Default:
""

javaVersion

public abstract String[] javaVersion
You want the test to be skipped on a special version of the VM, e.g. on version "1.6.0_17" because you know that on this version there is a bug that caused your test not to work? Then use this attribute.
You can't define a range of skipped versions. But you regex (regular expressions) are allowed. And you can define more than one version (or regex).
The format of this attribute must be the same as returned by the system property "java.version".
Since 1.2 wildcards (*, ?) are supported.

Default:
""

javaVendor

public abstract String[] javaVendor
You want the test to be skipped on a special vendor VM? Use this attribute here. The format of this attribute must be the same as returned by the system property "java.vendor". Valid values are:
Since 1.2 wildcards (*, ?) are supported.

Default:
""

user

public abstract String[] user
Does the test should skipped only for user "Bob" because he is not allow to use the database? Use user="bob" to skip it for his account.
Damn, the new member of the team, Bill, has similar restrictions. Ok, use user={"bob", "bill"} skip the test for both accounts.
Since 1.2 wildcards (*, ?) are supported.

Since:
1.1
Default:
""

property

public abstract String[] property
You have some tests that does not run when you are offline? Define a property (e.g. property="offline"). If this property is set (and its value is not "false") the test will be skipped if you start the JavaVM with java -Doffline ... or java -Doffline=true ....
You can control more than property with this attribute. Then all properties must be "true" to skip the test.
Wildcards (*, ?) are not yet supported for system properties.

Default:
""


Copyright © 2002–2014 PatternTesting Team. All rights reserved.