Replace bash JavaTest.sh with mvn test (#7500)

* Start of mvn-ification of the test

* move to right locations

* Update the IO done in the test to read from resources / write to temp folders

* Add github workflow attempt to mvn test it instead of JavaTest.sh

* Pin the Kotlin benchmark's symlink for /java to the right location

* Inline equality assertions and format JavaTest.java

* fix android gradle source directory

Co-authored-by: Derek Bailey <derekbailey@google.com>
This commit is contained in:
Nick
2022-09-11 19:46:46 -05:00
committed by GitHub
parent c49aff4b6f
commit 89dfb43f3b
39 changed files with 592 additions and 682 deletions

View File

@@ -358,8 +358,8 @@ jobs:
steps:
- uses: actions/checkout@v2
- name: test
working-directory: tests
run: bash JavaTest.sh
working-directory: java
run: mvn test
build-kotlin-macos:
name: Build Kotlin MacOS

1
.gitignore vendored
View File

@@ -88,6 +88,7 @@ java/*.iml
.idea
*.iml
target
java/target
**/*.pyc
build/VS2010/FlatBuffers.sdf
build/VS2010/FlatBuffers.opensdf

View File

@@ -21,7 +21,7 @@ android {
sourceSets {
main {
java {
srcDir '../../java'
srcDir '../../java/src/main/java/'
}
}
}

View File

@@ -37,6 +37,18 @@
<tag>HEAD</tag>
</scm>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.truth</groupId>
<artifactId>truth</artifactId>
<version>1.1.3</version>
<scope>test</scope>
</dependency>
</dependencies>
<distributionManagement>
<snapshotRepository>
@@ -45,7 +57,21 @@
</snapshotRepository>
</distributionManagement>
<build>
<sourceDirectory>java</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<release>8</release>
<testExcludes>
<testExclude>**/LongEnum.java</testExclude>
<testExclude>MyGame/Example/MonsterStorageGrpc.java</testExclude>
<testExclude>MyGame/Example/StructOfStructs**</testExclude>
<testExclude>MyGame/OtherNameSpace/TableBT.java</testExclude>
</testExcludes>
</configuration>
<version>3.8.1</version>
</plugin>
</plugins>
</build>
<profiles>
<profile>
@@ -55,13 +81,6 @@
</activation>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<release>8</release>
</configuration>
<version>3.8.1</version>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>

View File

@@ -0,0 +1 @@
../../../../tests/DictionaryLookup

File diff suppressed because it is too large Load Diff

1
java/src/test/java/MyGame Symbolic link
View File

@@ -0,0 +1 @@
../../../../tests/MyGame

View File

@@ -0,0 +1 @@
../../../../tests/namespace_test/NamespaceA

View File

@@ -0,0 +1 @@
../../../../tests/namespace_test/NamespaceC

View File

@@ -0,0 +1 @@
../../../../tests/optional_scalars

View File

@@ -0,0 +1 @@
../../../../tests/union_vector

Binary file not shown.

View File

@@ -1 +1 @@
../../../../java/
../../../../java/src/main/java

View File

@@ -1,21 +0,0 @@
@echo off
rem Copyright 2014 Google Inc. All rights reserved.
rem
rem Licensed under the Apache License, Version 2.0 (the "License");
rem you may not use this file except in compliance with the License.
rem You may obtain a copy of the License at
rem
rem http://www.apache.org/licenses/LICENSE-2.0
rem
rem Unless required by applicable law or agreed to in writing, software
rem distributed under the License is distributed on an "AS IS" BASIS,
rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
rem See the License for the specific language governing permissions and
rem limitations under the License.
rem Compile then run the Java test.
set batch_file_dir=%~d0%~p0
javac -g -classpath %batch_file_dir%\..\java;%batch_file_dir%;%batch_file_dir%\namespace_test;%batch_file_dir%\union_vector JavaTest.java
java -classpath %batch_file_dir%\..\java;%batch_file_dir%;%batch_file_dir%\namespace_test;%batch_file_dir%\union_vector JavaTest

View File

@@ -1,43 +0,0 @@
#!/bin/bash
#
# Copyright 2014 Google Inc. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
set -o errexit
echo Compile then run the Java test.
java -version
testdir=$(dirname $0)
targetdir="${testdir}/target"
if [[ -e "${targetdir}" ]]; then
echo "cleaning target"
rm -rf "${targetdir}"
fi
mkdir -v "${targetdir}"
if ! find "${testdir}/../java" -type f -name "*.class" -delete; then
echo "failed to clean .class files from java directory" >&2
exit 1
fi
javac -d "${targetdir}" -classpath "${testdir}/optional_scalars:${testdir}/../java:${testdir}:${testdir}/namespace_test:${testdir}/union_vector" "${testdir}/JavaTest.java"
(cd "${testdir}" && java -ea -classpath "${targetdir}" JavaTest )
rm -rf "${targetdir}"