code: def test_serialize_deserialize_dataset():
      with tmpfile() as fn:
          with h5py.File(fn, mode="a") as f:
              x = f.create_dataset(
                  "/group1/group2/x", shape=(2, 2), dtype="i4"
              )
          with h5py.File(fn, mode="r") as f:
              x = f["group1/group2/x"]
              y = deserialize(*serialize(x))
              assert isinstance(y, h5py.Dataset)
              assert x.name == y.name
              assert x.file.filename == y.file.filename
              assert (x[:] == y[:]).all()
  
file_path: distributed/distributed/protocol/tests/test_h5py.py
imports: from __future__ import annotations
  import functools
  import traceback
  import pytest
  from dask.utils import tmpfile
  from distributed.protocol import deserialize, serialize
  import dask.array
  from distributed.utils_test import gen_cluster
label_desc: Use image node_id 4 for calling a global function with example usage: test_serialize_deserialize_dataset() without return types