code: def test_datum(gdb_arrow):
      check_stack_repr(gdb_arrow, "empty_datum", "arrow::Datum (empty)")
      check_stack_repr(
          gdb_arrow,
          "scalar_datum",
          "arrow::Datum of value arrow::BooleanScalar of null value",
      )
      check_stack_repr(
          gdb_arrow,
          "array_datum",
          re.compile(
              r"^arrow::Datum of value arrow::ArrayData of type "
          ),
      )
      check_stack_repr(
          gdb_arrow,
          "chunked_array_datum",
          re.compile(
              r"^arrow::Datum of value arrow::ChunkedArray of type "
          ),
      )
      check_stack_repr(
          gdb_arrow,
          "batch_datum",
          re.compile(
              r"^arrow::Datum of value arrow::RecordBatch "
              r"with 2 columns, 3 rows "
          ),
      )
      check_stack_repr(
          gdb_arrow,
          "table_datum",
          re.compile(
              r"^arrow::Datum of value arrow::Table "
              r"with 2 columns, 5 rows "
          ),
      )
  
imports: from functools import lru_cache
  import os
  import re
  import shutil
  import subprocess
  import sys
  import pytest
  import pyarrow
label_desc: Use image node_id 30 for calling a global function with example usage: test_datum(gdb_arrow) without return types