jOOQ / jOOR

jOOR - Fluent Reflection in Java jOOR is a very simple fluent API that gives access to your Java Class structures in a more intuitive way. The JDK's reflection APIs are hard and verbose to use. Other languages have much simpler constructs to access type meta information at runtime. Let us make Java reflection better.
http://www.jooq.org/products
Apache License 2.0
2.8k stars 377 forks source link

jOOR-java-8 unit tests are failing on master for OpenJDK 1.8.0_242 #94

Closed gabrielps closed 4 years ago

gabrielps commented 4 years ago

Expected behavior and actual behavior:

Steps to reproduce the problem: mvn clean install master branch

Versions: 1.9.13 (master branch)

lukaseder commented 4 years ago

Nope:

lukas@DESKTOP-F2SE3C1 MINGW64 ~/jOOQ/master/workspace/jOOR/jOOR (master)
$ java -version
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8
openjdk version "11.0.6" 2020-01-14
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.6+10)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.6+10, mixed mode)

lukas@DESKTOP-F2SE3C1 MINGW64 ~/jOOQ/master/workspace/jOOR/jOOR (master)
$ mvn clean install
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8
[INFO] Scanning for projects...
[INFO]
[INFO] ---------------------------< org.jooq:joor >----------------------------
[INFO] Building jOOR 0.9.13
[INFO] -------------------------------[ bundle ]-------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ joor ---
[INFO] Deleting C:\Users\lukas\jOOQ\master\workspace\jOOR\jOOR\target
[INFO]
[INFO] --- maven-enforcer-plugin:1.0:enforce (enforce-maven) @ joor ---
[INFO]
[INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ joor ---
[debug] execute contextualize
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 2 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.8.0:compile (default-compile) @ joor ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 5 source files to C:\Users\lukas\jOOQ\master\workspace\jOOR\jOOR\target\classes
[INFO]
[INFO] --- maven-resources-plugin:2.5:testResources (default-testResources) @ joor ---
[debug] execute contextualize
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory C:\Users\lukas\jOOQ\master\workspace\jOOR\jOOR\src\test\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.8.0:testCompile (default-testCompile) @ joor ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 19 source files to C:\Users\lukas\jOOQ\master\workspace\jOOR\jOOR\target\test-classes
[INFO]
[INFO] --- maven-surefire-plugin:3.0.0-M4:test (default-test) @ joor ---
[INFO]
[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running org.joor.test.CompileOptionsTest
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.434 s - in org.joor.test.CompileOptionsTest
[INFO] Running org.joor.test.CompileTest
[INFO] Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.257 s - in org.joor.test.CompileTest
[INFO] Running org.joor.test.ReflectTest
[WARNING] Tests run: 35, Failures: 0, Errors: 0, Skipped: 3, Time elapsed: 0.048 s - in org.joor.test.ReflectTest
[INFO]
[INFO] Results:
[INFO]
[WARNING] Tests run: 46, Failures: 0, Errors: 0, Skipped: 3
[INFO]
[INFO]
[INFO] --- maven-bundle-plugin:3.5.0:bundle (default-bundle) @ joor ---
[INFO]
[INFO] --- maven-install-plugin:3.0.0-M1:install (default-install) @ joor ---
[INFO] Installing C:\Users\lukas\jOOQ\master\workspace\jOOR\jOOR\target\joor-0.9.13.jar to C:\Users\lukas\.m2\repository\org\jooq\joor\0.9.13\joor-0.9.13.jar
[INFO] Installing C:\Users\lukas\jOOQ\master\workspace\jOOR\jOOR\pom.xml to C:\Users\lukas\.m2\repository\org\jooq\joor\0.9.13\joor-0.9.13.pom
[INFO]
[INFO] --- maven-bundle-plugin:3.5.0:install (default-install) @ joor ---
[INFO] Installing org/jooq/joor/0.9.13/joor-0.9.13.jar
[INFO] Writing OBR metadata
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  5.258 s
[INFO] Finished at: 2020-04-09T11:12:23+02:00
[INFO] ------------------------------------------------------------------------
lukaseder commented 4 years ago

Ah yes, hmm. The Java 8 version is failing it seems. Looks like something was changed in some Java version that now makes the expected failing tests pass:

[ERROR] Failures:
[ERROR]   CompileTest.testCompileLocalInterfaceHierarchy Expected exception: java.lang.Throwable
[ERROR]   CompileTest.testRecompileSameClassName Expected exception: java.lang.Throwable
[INFO]
[ERROR] Tests run: 46, Failures: 2, Errors: 0, Skipped: 3

Which are due to #76 and #77

lukaseder commented 4 years ago

Thanks for your report

gabrielps commented 4 years ago

It is due to the expected throws you introduced in #72 and #77

lukaseder commented 4 years ago

Yes thank you. I know. It's already fixed: https://github.com/jOOQ/jOOR/commit/1e6b04b2086ea0f4341e36753c7b523746f7a3d9

lukaseder commented 4 years ago

I'll investigate later to see why our CI didn't report this...

gabrielps commented 4 years ago

It is due to the expected throws you introduced in #72 and #77

My bad, I didn't notice you had already diagnosed it :D