code: def test_orc_single(orc_files, split_stripes):
      fn = orc_files[0]
      d = dd.read_orc(fn, split_stripes=split_stripes)
      assert len(d) == 70000
      assert d.npartitions == 8 / split_stripes
      d2 = dd.read_orc(fn, columns=["time", "date"])
      assert_eq(d[columns], d2[columns], check_index=False)
  
      with pytest.raises(ValueError, match="nonexist"):
          dd.read_orc(fn, columns=["time", "nonexist"])
  
      if not dd._dask_expr_enabled():
          # Check that `optimize_dataframe_getitem` changes the
          # `columns` attribute of the "read-orc" layer
          d3 = d[columns]
          keys = [(d3._name, i) for i in range(d3.npartitions)]
          graph = optimize_dataframe_getitem(d3.__dask_graph__(), keys)
          key = [
              k
              for k in graph.layers.keys()
              if k.startswith("read-orc-")
          ][0]
          assert set(graph.layers[key].columns) == set(columns)
  
file_path: dask/dask/dataframe/io/tests/test_orc.py
imports: from __future__ import annotations
  import glob
  import os
  import shutil
  import tempfile
  import numpy
  import pandas
  import pytest
  import dask.dataframe
  from dask.dataframe.optimize import optimize_dataframe_getitem
  from dask.dataframe.utils import assert_eq
label_desc: Use image node_id 3 for calling a global function with example usage: test_orc_single(orc_files, split_stripes) without return types