code: def test_smoke_custom_parser(tmp_path):
      data_path = (
          Path(__file__).absolute().parents[2]
          / "examples"
          / "binary_classification"
          / "binary.train"
      )
      parser_config_file = tmp_path / "parser.ini"
      with open(parser_config_file, "w") as fout:
          fout.write('{"className": "dummy", "id": "1"}')
  
      data = lgb.Dataset(
          data_path, params={"parser_config_file": parser_config_file}
      )
      with pytest.raises(
          lgb.basic.LightGBMError,
          match="Cannot find parser class 'dummy', please register first or check config format",
      ):
          data.construct()
  
imports: import filecmp
  import numbers
  import re
  from copy import deepcopy
  from os import getenv
  from pathlib import Path
  import numpy
  import pytest
  from scipy import sparse
  from sklearn.datasets import dump_svmlight_file, load_svmlight_file
  from sklearn.model_selection import train_test_split
  import lightgbm
  from lightgbm.compat import PANDAS_INSTALLED, pd_DataFrame, pd_Series
  from .utils import dummy_obj, load_breast_cancer, mse_obj, np_assert_array_equal
label_desc: Use image node_id 24 for calling a global function with example usage: test_smoke_custom_parser(tmp_path) without return types