summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAllen Byrne <byrn@hdfgroup.org>2020-05-06 16:19:50 (GMT)
committerAllen Byrne <byrn@hdfgroup.org>2020-05-06 16:19:50 (GMT)
commite0183056d5362f2198726281e446e02912120d4d (patch)
tree511c495d2f7a62bbbc61d27df3f84ca2cf2a258a
parent286d296aa7ab3085903ad677b3fd3f25e216c84d (diff)
downloadhdf5-e0183056d5362f2198726281e446e02912120d4d.zip
hdf5-e0183056d5362f2198726281e446e02912120d4d.tar.gz
hdf5-e0183056d5362f2198726281e446e02912120d4d.tar.bz2
Add github actions and cleanup java whitespace
-rw-r--r--.github/workflows/main.yml80
-rw-r--r--MANIFEST2
-rw-r--r--java/src/hdf/hdf5lib/structs/H5O_hdr_info_t.java2
-rw-r--r--java/src/hdf/hdf5lib/structs/H5O_native_info_t.java4
-rw-r--r--java/src/hdf/hdf5lib/structs/H5O_token_t.java2
-rw-r--r--java/src/jni/h5sImp.c2
-rw-r--r--java/src/jni/h5sImp.h2
-rw-r--r--java/test/TestH5E.java38
-rw-r--r--java/test/TestH5Tparams.java2
9 files changed, 109 insertions, 25 deletions
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
new file mode 100644
index 0000000..5c38961
--- /dev/null
+++ b/.github/workflows/main.yml
@@ -0,0 +1,80 @@
+name: hdf5 dev CI
+
+# Controls when the action will run. Triggers the workflow on push or pull request
+on:
+ push:
+ branches: [ develop, hdf5_1_12, hdf5_1_10, hdf5_1_8 ]
+ pull_request:
+ branches: [ develop ]
+
+# A workflow run is made up of one or more jobs that can run sequentially or in parallel
+jobs:
+ # This workflow contains a single job called "build"
+ build:
+ strategy:
+ fail-fast: false
+ matrix:
+ name: ["Windows Latest MSVC", "Ubuntu Latest GCC", "macOS Latest Clang"]
+ include:
+ - name: "Windows Latest MSVC"
+ artifact: "Windows-MSVC.tar.xz"
+ os: windows-latest
+ build_type: "Release"
+ toolchain: ""
+ fortran: OFF
+ generator: "-G \"Visual Studio 16 2019\" -A x64"
+ - name: "Ubuntu Latest GCC"
+ artifact: "Linux.tar.xz"
+ os: ubuntu-latest
+ build_type: "Release"
+ fortran: OFF
+ toolchain: "config/toolchain/GCC.cmake"
+ generator: "-G Ninja"
+ - name: "macOS Latest Clang"
+ artifact: "macOS.tar.xz"
+ os: macos-latest
+ build_type: "Release"
+ fortran: OFF
+ toolchain: "config/toolchain/clang.cmake"
+ generator: "-G Ninja"
+
+ name: ${{ matrix.name }}
+ # The type of runner that the job will run on
+ runs-on: ${{ matrix.os }}
+
+ # Steps represent a sequence of tasks that will be executed as part of the job
+ steps:
+ - name: Install Dependencies (Linux)
+ run: sudo apt-get install ninja-build
+ if: matrix.os == 'ubuntu-latest'
+ - name: Install Dependencies (Windows)
+ run: choco install ninja
+ if: matrix.os == 'windows-latest'
+ - name: Install Dependencies (macOS)
+ run: brew install ninja
+ if: matrix.os == 'macos-latest'
+ - name: Set environment for MSVC (Windows)
+ if: matrix.os == 'windows-latest'
+ run: |
+ # Set these env vars so cmake picks the correct compiler
+ echo "::set-env name=CXX::cl.exe"
+ echo "::set-env name=CC::cl.exe"
+
+ # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
+ - name: Get Sources
+ uses: actions/checkout@v2
+
+ - name: Configure
+ run: |
+ mkdir "${{ runner.workspace }}/build"
+ cd "${{ runner.workspace }}/build"
+ cmake ${{ matrix.generator }} -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DCMAKE_TOOLCHAIN_FILE=${{ matrix.toolchain }} -DBUILD_SHARED_LIBS=ON -DHDF5_ENABLE_ALL_WARNINGS=ON -DHDF5_BUILD_FORTRAN=${{ matrix.fortran }} -DHDF5_BUILD_JAVA=ON $GITHUB_WORKSPACE
+ shell: bash
+
+ - name: Build
+ run: cmake --build . --config ${{ matrix.build_type }}
+ working-directory: ${{ runner.workspace }}/build
+
+ - name: Test
+ run: ctest --build . -C ${{ matrix.build_type }} -V
+ working-directory: ${{ runner.workspace }}/build
diff --git a/MANIFEST b/MANIFEST
index 4485812..e34a575 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -33,6 +33,8 @@
./autogen.sh
./configure.ac
+./github/workflows/main.yml _DO_NOT_DISTRIBUTE_
+
./m4/aclocal_cxx.m4
./m4/aclocal_fc.m4
./m4/aclocal_fc.f90
diff --git a/java/src/hdf/hdf5lib/structs/H5O_hdr_info_t.java b/java/src/hdf/hdf5lib/structs/H5O_hdr_info_t.java
index 8d0cc24..73aaa47 100644
--- a/java/src/hdf/hdf5lib/structs/H5O_hdr_info_t.java
+++ b/java/src/hdf/hdf5lib/structs/H5O_hdr_info_t.java
@@ -74,7 +74,7 @@ public class H5O_hdr_info_t implements Serializable {
if (this.mesg_present != info.mesg_present)
return false;
if (this.mesg_shared != info.mesg_shared)
- return false;
+ return false;
return true;
}
diff --git a/java/src/hdf/hdf5lib/structs/H5O_native_info_t.java b/java/src/hdf/hdf5lib/structs/H5O_native_info_t.java
index 4e80849..f410a7f 100644
--- a/java/src/hdf/hdf5lib/structs/H5O_native_info_t.java
+++ b/java/src/hdf/hdf5lib/structs/H5O_native_info_t.java
@@ -22,7 +22,7 @@ public class H5O_native_info_t implements Serializable {
public H5O_hdr_info_t hdr_info; /* Object header information */
/* Extra metadata storage for obj & attributes */
- public H5_ih_info_t obj_info; /* v1/v2 B-tree & local/fractal heap for groups, B-tree for chunked datasets */
+ public H5_ih_info_t obj_info; /* v1/v2 B-tree & local/fractal heap for groups, B-tree for chunked datasets */
public H5_ih_info_t attr_info; /* v2 B-tree & heap for attributes */
H5O_native_info_t (H5O_hdr_info_t oheader_info, H5_ih_info_t obj_info, H5_ih_info_t attr_info)
@@ -49,4 +49,4 @@ public class H5O_native_info_t implements Serializable {
return true;
}
-} \ No newline at end of file
+}
diff --git a/java/src/hdf/hdf5lib/structs/H5O_token_t.java b/java/src/hdf/hdf5lib/structs/H5O_token_t.java
index 8ec0b7f..e6d2474 100644
--- a/java/src/hdf/hdf5lib/structs/H5O_token_t.java
+++ b/java/src/hdf/hdf5lib/structs/H5O_token_t.java
@@ -42,4 +42,4 @@ public class H5O_token_t implements Serializable {
return Arrays.equals(this.data, token.data);
}
-} \ No newline at end of file
+}
diff --git a/java/src/jni/h5sImp.c b/java/src/jni/h5sImp.c
index 33d3c2b..3498392 100644
--- a/java/src/jni/h5sImp.c
+++ b/java/src/jni/h5sImp.c
@@ -165,7 +165,7 @@ done:
/* 10/28/99 -- added code to copy the array -- this is not used,
* but serves as a reminder in case we try to implement this in
* the future....
- */
+ */
/*
* Note: the argument coord is actually long coord[][], which has been
* flattened by the caller.
diff --git a/java/src/jni/h5sImp.h b/java/src/jni/h5sImp.h
index a07d4c5..cea2ebf 100644
--- a/java/src/jni/h5sImp.h
+++ b/java/src/jni/h5sImp.h
@@ -52,7 +52,7 @@ Java_hdf_hdf5lib_H5__1H5Scopy
/* 10/28/99 -- added code to copy the array -- this is not used,
* but serves as a reminder in case we try to implement this in
* the future....
- */
+ */
/*
* Note: the argument coord is actually long coord[][], which has been
* flattened by the caller.
diff --git a/java/test/TestH5E.java b/java/test/TestH5E.java
index 6f4f473..ac641c3 100644
--- a/java/test/TestH5E.java
+++ b/java/test/TestH5E.java
@@ -81,6 +81,7 @@ public class TestH5E {
long errnum = hdferr.getMajorErrorNumber();
int[] error_msg_type = { HDF5Constants.H5E_MAJOR };
String msg = null;
+
try {
msg = H5.H5Eget_msg(errnum, error_msg_type);
}
@@ -91,15 +92,15 @@ public class TestH5E {
assertNotNull("H5.H5Eget_msg: " + msg, msg);
assertEquals("H5.H5Eget_msg: ", HDF5Constants.H5E_MAJOR, error_msg_type[0]);
- /*
- * If HDF5_VOL_CONNECTOR is set, this might not be the
- * native connector and the error string might be different.
- * Only check for the specific error message if the native
- * connector is being used.
- */
- String connector = System.getenv("HDF5_VOL_CONNECTOR");
- if (connector == null)
- assertEquals("H5.H5Eget_msg: ", "File accessibility", msg);
+ /*
+ * If HDF5_VOL_CONNECTOR is set, this might not be the
+ * native connector and the error string might be different.
+ * Only check for the specific error message if the native
+ * connector is being used.
+ */
+ String connector = System.getenv("HDF5_VOL_CONNECTOR");
+ if (connector == null)
+ assertTrue("H5.H5Eget_msg: ", msg.contains("File accessibility"));
}
catch (Throwable err) {
err.printStackTrace();
@@ -116,6 +117,7 @@ public class TestH5E {
long errnum = hdferr.getMinorErrorNumber();
int[] error_msg_type = { HDF5Constants.H5E_MINOR };
String msg = null;
+
try {
msg = H5.H5Eget_msg(errnum, error_msg_type);
}
@@ -126,15 +128,15 @@ public class TestH5E {
assertNotNull("H5.H5Eget_msg: " + msg, msg);
assertEquals("H5.H5Eget_msg: ", HDF5Constants.H5E_MINOR, error_msg_type[0]);
- /*
- * If HDF5_VOL_CONNECTOR is set, this might not be the
- * native connector and the error string might be different.
- * Only check for the specific error message if the native
- * connector is being used.
- */
- String connector = System.getenv("HDF5_VOL_CONNECTOR");
- if (connector == null)
- assertEquals("H5.H5Eget_msg: ", "Unable to open file", msg);
+ /*
+ * If HDF5_VOL_CONNECTOR is set, this might not be the
+ * native connector and the error string might be different.
+ * Only check for the specific error message if the native
+ * connector is being used.
+ */
+ String connector = System.getenv("HDF5_VOL_CONNECTOR");
+ if (connector == null)
+ assertTrue("H5.H5Eget_msg: ", msg.contains("Unable to open file"));
}
catch (Throwable err) {
err.printStackTrace();
diff --git a/java/test/TestH5Tparams.java b/java/test/TestH5Tparams.java
index 8baccd1..f2b5ab5 100644
--- a/java/test/TestH5Tparams.java
+++ b/java/test/TestH5Tparams.java
@@ -274,7 +274,7 @@ public class TestH5Tparams {
public void testH5Tpack_invalid() throws Throwable {
H5.H5Tpack(-1);
}
-
+
@Test(expected = HDF5LibraryException.class)
public void testH5Treclaim_invalid() throws Throwable {
byte[] buf = new byte[2];