code: def test_zero_strided_numpy_array(x, writeable):
      assert 0 in x.strides
      x.setflags(write=writeable)
      header, frames = serialize(x)
      y = deserialize(header, frames)
      np.testing.assert_equal(x, y)
      # Ensure we transmit fewer bytes than the full array
      assert sum(map(nbytes, frames)) < x.nbytes
      # Ensure both x and y are have same write flag
      assert x.flags.writeable == y.flags.writeable
  
imports: from __future__ import annotations
  from zlib import crc32
  import pytest
  from dask.utils import ensure_bytes, tmpfile
  from distributed.protocol import decompress, deserialize, dumps, loads, msgpack, serialize, to_serialize
  from distributed.protocol.compression import maybe_compress
  from distributed.protocol.numpy import itemsize
  from distributed.protocol.utils import BIG_BYTES_SHARD_SIZE
  from distributed.system import MEMORY_LIMIT
  from distributed.utils import nbytes
  from distributed.utils_test import gen_cluster
label_desc: Use image node_id 12 for calling a global function with example usage: test_zero_strided_numpy_array(x, writeable) without return types