Skip to content

Releases: ls1intum/Ares

1.5.4

04 May 11:16
Compare
Choose a tag to compare

User-Side Changes

  • Fix issue that StrictTimeout does not apply to nested classes (ea5fe80)
  • Add a few missing localization entries (such as the one for strict timeout and some in output lines matching)
  • Many bug fixes for the (experimental) dynamics framework, mostly related to bad failure messages which are better now. This includes
    • The removal of the pointless DynamicMethod ...Cast methods, see dbb55b6 for an explanation and solution in case those were really used somewhere.
    • Not counting synthetic and bridge methods in DynamicClass.checkForPublicOrProtectedMethods. (0a1bcb5)
    • Making the exists() method part of Checkable and add implementation for DynamicField. (dc80bb0)
    • Fixing that DynamicMethod sometimes reported failures with the wrong argument types. (bd26d77)

Developer-Side Changes

  • Many tests for de.tum.in.test.api.dynamic (fixed #74) and more tests for other components as well
  • More consistent code style and formatting, removing unused code
  • Test dependency updates (spotless)

1.5.3

31 Mar 17:44
Compare
Choose a tag to compare

User-Side Changes

  • Implement optional tags for modifiers in the test.json of the structural tests. See #94 (credits to @JohannesStoehr).
    The behavior for existing structural test JSON containing the expected structure is not changed. But Ares now allows making modifiers optional like e.g. optional: final as modifier name. The structural tests now also support setting expected class modifiers.
  • Fix wrong sanitization of the expected and actual value of org.opentest4j.AssertionFailedError.
    This bug had no effect on the message as it is e.g. displayed in Artemis, and neither does the introduced change. This only affected tools such as IDEs, which sometimes showed confusing or wrong information in detail views for AssertionFailedErrors.

Developer-Side Changes

  • More and better tests for structural tests and for the Throwable sanitization.

1.5.2

23 Mar 11:24
Compare
Choose a tag to compare

User-Side Changes

  • Fix accidental invocation of fillInStackTrace()
    This resolves the problem that reported test failures sometimes didn't come with the correct stack traces and thus the potential problem location was not added to the exception message.

1.5.1

23 Mar 11:05
Compare
Choose a tag to compare

User-Side Changes

  • Fix missing usages of MessageTransformer for Throwable sanitization
    This resolves the problem that the potential problem location was not added to the exception message in many cases.

1.5.0

20 Mar 12:55
Compare
Choose a tag to compare

User-Side Changes

  • Add support for Java 16 (JEP-396, see #88 and #68).
    This may cause a slight change in behavior for some specific test failures by exceptions, but the API stays unchanged and the new behavior should not affect the usability. Therefore, this is released as a new minor.
  • Make timeout failures privileged if they are used in a @PrivilegedExceptionOnly context (see #91).
    This also changes the behavior, but from our point of view only in a positive way. Timeouts should not be hidden because they don't give any solution away and might help to find the timeout issue, reduce frustration of everyone involved and lower the load on the build systems.

Developer-Side Changes

  • artemis-java-test-sandbox tests are now run in an JDK 16 environment every time.

Dependency updates

  • org.json:json updated to version 20210307

1.4.7

20 Mar 13:01
Compare
Choose a tag to compare

User-Side Changes

  • Take care of more FilePermission formats. See #78 (credits to @ColoredCarrot for reporting the issue)
    This should not have any effect on common use cases, as the formats are not or rarely used.

Developer-Side Changes

  • Add small protection against missing localization in the test conditions (see 0d3a106)

Dependency updates

  • org.assertj:assertj-core updated to version 3.19.0
  • org.junit.jupiter:junit-jupiter-... updated to version 5.7.1
  • org.junit.jupiter:junit-platform-... updated to version 1.7.1

1.4.6

20 Mar 13:12
Compare
Choose a tag to compare

User-Side Changes

  • Improve SecurityManager to accept doPrivileged.
    This improves usability by preventing some undesired security exceptions being thrown, e.g. if students use Thread by extending the class. The change should solve similar problems as well.

1.4.5

20 Mar 13:25
Compare
Choose a tag to compare

User-Side Changes

  • Include the "Dynamics Framework", see #71 (credits to @MDK5)
    The "Dynamics Framework" is a set of classes that wrap reflective operations so that they are almost as usable as the direct usage. The structure is defined is the first place by creating generic DynamicClasses, DynamicMethods, DynamicConstructors and DynamicFields. This reduces the need for casting, and due to the precise definition of the expected structure, we can produce a clear error message if something cannot be found or is ill-defined. Because the reflective operations are encapsulated in the Dynamic... objects, the code stays compact and readable and even testing large exercises purely via reflective operations is feasible.

1.4.4

20 Mar 13:39
Compare
Choose a tag to compare

User-Side Changes

  • Simple and canonical name support for Structure Test Oracle files. See #67 (credits to @niclasschuemann)
    This improves the de.tum.in.test.api.structural classes by adding support for canonical class names in addition to simple names, and this is also supported for generic type declarations, which are now supported in more places of the expected structure JSON.

1.4.3

20 Mar 13:43
Compare
Choose a tag to compare

User-Side Changes

  • Fix line number parsing in tryCleanUpAssertionFailedError causing broken error messages coming from OutputTester.assertLinesMatch.