code: def test_dumps_numpy_writable(writeable):
      a1 = np.arange(1000)
      a1.flags.writeable = writeable
      fs = dumps([to_serialize(a1)])
      # Make all frames read-only
      fs = list(map(ensure_bytes, fs))
      (a2,) = loads(fs)
      assert (a1 == a2).all()
      assert a2.flags.writeable == a1.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 3 for calling a global function with example usage: test_dumps_numpy_writable(writeable) without return types