test: adding Java 7 check by suztomo · Pull Request #2306 · googleapis/google-api-java-client

It's the same error with Java 8.

How to reproduce?

suztomo@suztomo2:~/google-api-java-client$ sdk use java 7.0.352-zulu
...
suztomo@suztomo2:~/google-api-java-client$ which java
/usr/local/google/home/suztomo/.sdkman/candidates/java/7.0.352-zulu/bin/java
suztomo@suztomo2:~/google-api-java-client$ sdk use java 8.0.302-open
...
$ mvn test -am -pl google-api-client -Dproject.surefire.version=2.22.2  -Djvm=/usr/local/google/home/suztomo/.sdkman/candidates/java/7.0.352-zulu/bin/java

The class file says it's for Java 7.

suztomo@suztomo2:~/google-api-java-client$ javap -v -cp ./google-api-client/target/test-classes/ 'com/google/api/client/googleapis/batch/MockData$Class1' |head
Classfile /usr/local/google/home/suztomo/google-api-java-client/google-api-client/target/test-classes/com/google/api/client/googleapis/batch/MockData$Class1.class
  Last modified May 17, 2023; size 12851 bytes
  MD5 checksum ffec7d01fade4e64f0ebe5fc4bb37fb9
  Compiled from "MockData.java"
public final class com.google.api.client.googleapis.batch.MockData$Class1 extends com.google.protobuf.GeneratedMessageV3 implements com.google.api.client.googleapis.batch.MockData$Class1OrBuilder
  minor version: 0
  major version: 51
  flags: ACC_PUBLIC, ACC_FINAL, ACC_SUPER
Constant pool:
    #1 = Fieldref           #9.#221       // com/google/api/client/googleapis/batch/MockData$Class1.bitField0_:I

It's not that MockData$Class1.class is incompatible but it's about the class is referencing the Java7-incompatible com.google.protobuf.MessageOrBuilder.

$ mvn test -am -pl google-api-client -Dproject.surefire.version=2.22.2  -Djvm=/usr/local/google/home/suztomo/.sdkman/candidates/java/7.0.352-zulu/bin/java  -Dtest='com.google.api.client.googleapis.batch.BatchRequestTest#testProtoExecuteWithError' -DfailIfNoTests=false
...
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.122 s <<< FAILURE! - in com.google.api.client.googleapis.batch.BatchRequestTest
[ERROR] testProtoExecuteWithError(com.google.api.client.googleapis.batch.BatchRequestTest)  Time elapsed: 0.089 s  <<< ERROR!
java.lang.UnsupportedClassVersionError: com/google/protobuf/MessageOrBuilder : Unsupported major.minor version 52.0
	at com.google.api.client.googleapis.batch.BatchRequestTest.getBatchPopulatedWithRequests(BatchRequestTest.java:532)
	at com.google.api.client.googleapis.batch.BatchRequestTest.testProtoExecuteWithError(BatchRequestTest.java:849)