RandomizedTesting, Change Log ============================= For an up-to-date CHANGES file see https://github.com/randomizedtesting/randomizedtesting/blob/master/CHANGES ======================= randomizedtesting 2.5.3 ==================== Bug Fixes * GH-251: Fixes test case filtering in IDEs (IntelliJ, Eclipse). The tests are now filtered out eagerly from the returned suite's Description and don't show in the user interface at all. This also applies to -Dtests.method=... patterns. (Mike Sokolov via Dawid Weiss) ======================= randomizedtesting 2.5.2 ==================== Bug Fixes * GH-250: Non-bootstrapped ForkedJvmInfo causes NullPointerExceptions (can happen on slow machines with low heartbeat setting). (Doug Turnbull via Dawid Weiss). ======================= randomizedtesting 2.5.1 ==================== Changes in Backwards Compatibility * GH-248: Cleaning up some confusion on RandomizedTest.randomAscii* and RandomStrings.randomAscii* methods. These methods generated random strings based on letters from the Unicode basic latin block (C0). All these methods are now deprecated and will be removed in favor of more explicit methods that tell exactly (?) what kind of letters are involved (Ryan Ernst, Dawid Weiss). For details, see: RandomStrings.randomAsciiLettersOfLength(..) RandomStrings.randomAsciiLettersOfLengthBetween(..) RandomStrings.randomAsciiAlphanumOfLength(..) RandomStrings.randomAsciiAlphanumOfLengthBetween(..) ======================= randomizedtesting 2.5.0 ==================== Changes in Backwards Compatibility * GH-243: Switches from File to NIO (Path) APIs in a few places may result in slightly different runner's behavior (on exceptional conditions). * GH-244: the new onNonEmptyWorkDirectory attribute's default value is 'fail' which may break existing builds that have garbage in work directories of forked JVMs. Change explicitly to any of the alternatives ('ignore' or 'wipe') or fix your build to wipe the temporary folders yourself. * GH-246: RequireAssertionsRule enforcement optional (consistent with "-Dtests.asserts"); explicit target class is also required. (Dawid Weiss) New Features * GH-244: A new attribute "onNonEmptyWorkDirectory" controls the action to take on non-empty initial work directory (for isolated JVMs). (Dawid Weiss) Bug Fixes Other Changes * GH-246: RequireAssertionsRule enforcement optional (consistent with "-Dtests.asserts"); explicit target class is also required. (Dawid Weiss) * GH-243: Switches from File to NIO (Path) APIs in a few places in the ANT runner. Improved messages concerning non-empty temporary JVM folder (both initially and at the end of the tests' run). (Dawid Weiss) * GH-245: Integrate Forbidden-APIs check and fix follow-up issues. (Dawid Weiss) ======================= randomizedtesting 2.4.1 ==================== New Features * GH-240: Add RandomPicks.randomFrom on primitive arrays. (Dawid Weiss) Bug Fixes * GH-242: RandomizedTest.nextTempName uses locale-sensitive String.format. (Dawid Weiss) ======================= randomizedtesting 2.4.0 ==================== Changes in Backwards Compatibility * GH-237: Methods previously found in RandomInts have been moved to RandomNumbers. (Dawid Weiss) * GH-234: Run strict validation (thread-ownership, lifecycle) in AssertingRandom only with assertions enabled. This change means that running without -ea will from now on ignore the fact that random context's Random instance is shared where it shouldn't be. On the other hand, any additional memory barriers can be now avoided, in particular when used in conjunction with @TestContextRandomSupplier (see GH-235 below). To enable consistent checking, enable assertions selectively (for com.carrotsearch.randomizedtesting package only). (Dawid Weiss) * GH-229: The default implementation of the Random instance returned from the randomization context has been changed to Xoroshiro128P, details here: http://xoroshiro.di.unimi.it/ The returned Random isn't synchronized and should yield much better pseudo-random sequences than the default Java's Random. (Dawid Weiss) New Features * GH-238: Add BiasedNumbers (random selection with bias towards "evil" numbers, in particular floats) as an alternative to RandomNumbers. (Dawid Weiss) * GH-237: Rename RandomInts to RandomNumbers and add methods operating on longs. (Dawid Weiss). * GH-235: A new class annotation was added: @TestContextRandomSupplier allows declaring a custom class (RandomSupplier) that supplies a Random for the given seed. This supplier can return any Random instance for the given initial seed (secure random, faster-than-jdk random, non-random random...). (Dawid Weiss) Bug Fixes * GH-233: some adjustments and refactorings in an attempt to avoid deadlocks on suite timeouts. Very hard to reproduce (i.e., impossible) and some very odd stack traces too. (Dawid Weiss) Other Changes * GH-232: Rework reporting of ignored, assumption-ignored, filtering-expression ignored tests. (Dawid Weiss) * GH-218: There are some internal changes in handling @Nightly annotation. The support for @Nightly is now provided via GroupEvaluator (and this class is now public, with methods allowing inspection of whether a test would be filtered out or not). (Dawid Weiss) ======================= randomizedtesting 2.3.4 ==================== Bug Fixes * GH-227: Static leak detector should print the "original" field in the test class that lead to ram usage tester failure (PR #227, Uwe Schindler) ======================= randomizedtesting 2.3.3 ==================== Bug Fixes * GH-225: Maven mojo's additionalClasspathElements option only adds empty strings to classpath. (@Anaros via Dawid Weiss). ======================= randomizedtesting 2.3.2 ==================== Changes in Backwards Compatibility * GH-222: Make unexpected JVM output available to listeners. This issue makes JVM output available to ANT JUnit4's listeners so that they can log it properly. Previously the JVM output was copied to System.out which could be hard to work with. See TextReport.onJvmOutput for an example. The default value of 'jvmOutputAction' has been changed from 'pipe, warn' to 'listeners, warn' so that listeners get notified about JVM output instead of it being copied directly to sysout. (Dawid Weiss, Ryan Ernst). Other Changes * GH-220: Add an indication of the number of failed suites so far to text report. (Dawid Weiss, Chris Hostetter). * GH-224: Remove excess use of Guava's collections. (Dawid Weiss) * GH-221: Upgrade to Guava 19.0-rc3. (Dawid Weiss, Ryan Ernst) Bug Fixes * PR #223: Access private fields within doPrivileged (Robert Muir) ======================= randomizedtesting 2.3.1 ==================== New Features * GH-219: Add randomBytes generator utility. (Dawid Weiss) * GH-190: RandomizedContext should provide the current test case method (via RandomizedContext.current().getTargetMethod()). (Dawid Weiss) * GH-217: Permit running tests on the same instance of the suite class via TestCaseInstanceProvider annotation. See Test018TestCaseInstanceProviders example. (Dawid Weiss). ======================= randomizedtesting 2.3.0 ==================== New Features * GH-216: Custom test case argument formatters in parameter factories. See ParametersFactory.argumentFormatting and Test007ParameterizedTests example. (Dawid Weiss). * GH-194: Flexible test case ordering via the new annotation (TestCaseOrdering). (Dawid Weiss) Bug Fixes * GH-215: In certain cases test case names could be duplicated (be identical), which could confuse IDEs. (Dawid Weiss) ======================= randomizedtesting 2.2.0 ==================== Changes in Backwards Compatibility * PR #178: Move to Java 1.7 and use the java NIO 2 API for temp files. (Simon Willnauer) * GH-184: RandomizedTest should not extend Assert. This permits easier use of other frameworks (like assertj) via static imports without naming conflicts. (Olivier Bourgain, Dawid Weiss) New Features * GH-191: "Tests with failures" should repeat the master seed at the end of the report. (Dawid Weiss) Bug Fixes * GH-192: Reworked json streaming to get rid of gson and permit dumping JVM-related diagnostics (security manager policy dumps, etc.). (Dawid Weiss) * GH-206: Potential NPE in checking getDefaultUncaughtExceptionHandler. (Dawid Weiss) Other Changes * GH-210: Make RR compilable/ testable under Java 1.9. (Dawid Weiss) * GH-209: Remove dependency on commons-io. (Dawid Weiss) * GH-204: modernize and clean up project layout. (Dawid Weiss) ======================= randomizedtesting 2.1.17 ============================ Bug Fixes * GH-201: Tests still running (and zombified) after suite timeout occurred. (Dawid Weiss) Other Changes * GH-205: Report test seed in halt on failure message. (Dawid Weiss) * GH-203: report the number of completely ignored suites in the summary. (Dawid Weiss) * PR #202: support running with security manager and limit the required permissions. (Robert Muir) ======================= randomizedtesting (pre 2.2.0) ======================= No separate changelog was maintained. See git commit history or issues at GitHub.