Description
There are currently a number of known test failures observed when running make check or make test on Big-Endian/s390x hardware. Some of these failures have been captured in other Github Issues, but I'm opening this issue to consolidate and track progress; the priority of this issue needs to be elevated.
Failures
The following tests FAILED:
77 - nc_test4_tst_filter (Failed)
191 - dap4_test_test_raw (Failed)
193 - dap4_test_test_data (Failed)
194 - dap4_test_test_remote (Failed)
195 - dap4_test_test_hyrax (Failed)
213 - nczarr_test_run_ut_mapapi (Failed)
223 - nczarr_test_run_jsonconvention (Failed)
230 - nczarr_test_run_filter (Failed)
Errors while running CTest
Testng/Debugging via Docker s390x emulation
The following instructions will be updated as I revise the docker image.
Currently, testing can be tricky as we don't have immediate access to the appropriate hardware. I'm working on this with Unidata IT staff. In the meantime, docker to the rescue!
Assuming you have Docker Desktop (download Here) installed (not just Docker Engine, you need Docker Desktop for emulation support), you can run the following command on the command line to get a working environment. This assumes you are starting from the top-level netcdf-c/ directory.
$ docker run -it -v $(pwd):/netcdf-c \
--platform linux/s390x \
docker.unidata.ucar.edu/nctests:serial \
bash
This will give you a command-line in an emulated s390x Ubuntu environment. The dependencies (libhdf5) exist in the /environments directory; for now, you'll need to set CPPFLAGS, LDFLAGS, etc, or use CMAKE_PREFIX_PATH for cmake. I'll be making this easier to access since we'll be using this image for debugging as well as automated testing.
Because the -v $(pwd):/netcdf-c argument maps the host netcdf-c/ directory, you can work on the host machine using your editor of choice, and test/debug in the docker image.
Description
There are currently a number of known test failures observed when running
make checkormake teston Big-Endian/s390xhardware. Some of these failures have been captured in other Github Issues, but I'm opening this issue to consolidate and track progress; the priority of this issue needs to be elevated.Failures
Testng/Debugging via Docker
s390xemulationCurrently, testing can be tricky as we don't have immediate access to the appropriate hardware. I'm working on this with Unidata IT staff. In the meantime,
dockerto the rescue!Assuming you have
Docker Desktop(download Here) installed (not just Docker Engine, you need Docker Desktop for emulation support), you can run the following command on the command line to get a working environment. This assumes you are starting from the top-levelnetcdf-c/directory.This will give you a command-line in an emulated
s390x Ubuntuenvironment. The dependencies (libhdf5) exist in the/environmentsdirectory; for now, you'll need to setCPPFLAGS,LDFLAGS, etc, or useCMAKE_PREFIX_PATHfor cmake. I'll be making this easier to access since we'll be using this image for debugging as well as automated testing.Because the
-v $(pwd):/netcdf-cargument maps the hostnetcdf-c/directory, you can work on the host machine using your editor of choice, and test/debug in the docker image.