code: def test_save_hdf5_saving(
      tmpdir,
      volume,
      module,
      workspace,
      outshape,
      bit_depth,
      dtype,
      convfun,
  ):
      directory = str(tmpdir.mkdir("images"))
      workspace.image_set.add("example_volume", volume)
  
      module.save_image_or_figure.value = (
          cellprofiler.modules.saveimages.IF_IMAGE
      )
  
      module.image_name.value = "example_volume"
  
      module.file_name_method.value = (
          cellprofiler.modules.saveimages.FN_SINGLE_NAME
      )
  
      module.single_file_name.value = "example_volume"
  
      module.pathname.value = "{}|{}".format(
          cellprofiler_core.preferences.ABSOLUTE_FOLDER_NAME, directory
      )
  
      module.file_format.value = cellprofiler.modules.saveimages.FF_H5
  
      module.bit_depth.value = bit_depth
  
      module.run(workspace)
  
      assert os.path.exists(
          os.path.join(directory, "example_volume.h5")
      )
  
      fn = os.path.join(directory, "example_volume.h5")
      data = get_h5_dataset(fn)
      assert data.dtype == dtype
      numpy.testing.assert_array_equal(
          data, numpy.reshape(convfun(volume.pixel_data), outshape)
      )
  
imports: import io
  import os.path
  import h5py
  import numpy
  import numpy.random
  import numpy.testing
  import pytest
  import skimage.data
  import skimage.util
  import cellprofiler_core.image
  import cellprofiler.modules.saveimages
  import cellprofiler_core.pipeline
  import cellprofiler_core.setting
  import cellprofiler_core.preferences
label_desc: Use image node_id 17 for calling a global function with example usage: test_save_hdf5_saving(tmpdir, volume, module, workspace, outshape, bit_depth, dtype, convfun) without return types