code: def test_set_pass_options_already_exist(self):
      pipeline = PassPipeline()
      pipeline.set_options(
          "common::add_fp16_cast", {"skip_ops_by_type": "matmul,const"}
      )
      with pytest.raises(
          ValueError,
          match="The pass common::add_fp16_cast already has associated options.",
      ):
          pipeline.set_options(
              "common::add_fp16_cast",
              {"skip_ops_by_type": "concat"},
              override=False,
          )
      # Override the options.
      pipeline.set_options(
          "common::add_fp16_cast", {"skip_ops_by_type": "concat"}
      )
      assert (
          pipeline.get_options("common::add_fp16_cast")[0].option_name
          == "skip_ops_by_type"
      )
      assert (
          pipeline.get_options("common::add_fp16_cast")[0].option_val
          == "concat"
      )
  
file_path: coremltools/coremltools/converters/mil/mil/passes/tests/test_pass_pipeline.py
imports: import numpy
  import pytest
  from coremltools.converters.mil.mil import Builder
  from coremltools.converters.mil.mil.passes.pass_pipeline import PassPipeline, PassPipelineManager
  from coremltools.converters.mil.testing_utils import assert_model_is_valid, get_op_types_in_program
label_desc: Use image node_id 6 for calling the TestPassPipeline obj's underlying member method code with example usage: obj.test_set_pass_options_already_exist() without return types