zarr_implementations icon indicating copy to clipboard operation
zarr_implementations copied to clipboard

Implement read tests for non python implementations

Open constantinpape opened this issue 4 years ago • 7 comments

Currently, we only check that data can be read with the python libraries (zarr-python, z5py, pyn5). We should also implement read tests for the non-python libraries though:

  • n5-java: test reading all n5 files
  • zarr-js: test readling the zarr(V2) files (PR #21)
  • xtensor-zarr, read the zarr(V2) files (PR #24 still pending)

I can implement the n5-java test at some point (but probably won't have time in the next 3 weeks.)

constantinpape avatar Mar 24 '21 20:03 constantinpape

What strategy were you thinking? A subprocess call from test_read_all.py? Or do we add a test runner for each language? e.g. junit or testng for Java and cppunit or gtest for C++? (Anyone have a completely different strategy?)

joshmoore avatar Apr 22 '21 20:04 joshmoore

I think a subprocess call in test_read_all.py is a good solution. That's also done in the PR for reading with xtensor, see https://github.com/zarr-developers/zarr_implementations/pull/34.

constantinpape avatar Apr 26 '21 08:04 constantinpape

:+1: I'll give this a try.

joshmoore avatar Apr 26 '21 09:04 joshmoore

+1 I'll give this a try.

Cool!

Just note that the one for xtensor is already under way in #34 and just pending some fixes I have to make in z5. I am looking into this today.

constantinpape avatar Apr 26 '21 09:04 constantinpape

Noted. I'll deal with any conflicts. An issue with the strategy in #34 will be how to get a npy from Java. Seems like that will introduce a new class of possible errors.

joshmoore avatar Apr 26 '21 09:04 joshmoore

Can you use kotlin on the java side? Because this seems fairly well tested: https://github.com/JetBrains-Research/npy

constantinpape avatar Apr 26 '21 18:04 constantinpape

Can you use kotlin on the java side? Because this seems fairly well tested: https://github.com/JetBrains-Research/npy

Ah, I had missed this discussion, but this is the same library I happened to find today and mention in https://github.com/zarr-developers/zarr_implementations/pull/37#discussion_r621505542. However I see now that in the README at that repository it states that unsigned integer types are currently not supported, so that would be a problem for our current test data here

grlee77 avatar Apr 27 '21 22:04 grlee77