code: def test_infer_string_columns(tmp_path, setup_path):
      # GH#
      pytest.importorskip("pyarrow")
      path = tmp_path / setup_path
      with pd.option_context("future.infer_string", True):
          df = DataFrame(
              1, columns=list("ABCD"), index=list(range(10))
          ).set_index(["A", "B"])
          expected = df.copy()
          df.to_hdf(path, key="df", format="table")
  
          result = read_hdf(path, "df")
          tm.assert_frame_equal(result, expected)
  
imports: import datetime
  import re
  import numpy
  import pytest
  from pandas._libs.tslibs import Timestamp
  from pandas.compat import is_platform_windows
  import pandas
  from pandas import DataFrame, DatetimeIndex, Index, Series, _testing, bdate_range, date_range, read_hdf
  from pandas.tests.io.pytables.common import _maybe_remove, ensure_clean_store
  from pandas.util import _test_decorators
label_desc: Use image node_id 27 for calling a global function with example usage: test_infer_string_columns(tmp_path, setup_path) without return types