code: def test_metric_run_metric_obj(mock_run, parse_records, record_q):
      run = mock_run()
      metric_1 = run.define_metric("glob")
      metric_2 = run.define_metric("val", step_metric=metric_1)
      assert metric_2.step_metric == "glob"
  
      parsed = parse_records(record_q)
      assert len(parsed.records) == 2
  
      metric_records = parsed.metric
      assert len(metric_records) == 2
  
      assert metric_records[0] == pb.MetricRecord(
          name="glob", options=pb.MetricOptions(defined=True)
      )
      assert metric_records[1] == pb.MetricRecord(
          name="val",
          step_metric="glob",
          options=pb.MetricOptions(defined=True, step_sync=True),
      )
  
file_path: wandb/tests/pytest_tests/unit_tests/test_wandb_define_metric.py
imports: import pytest
  import wandb
  from wandb.proto import wandb_internal_pb2
label_desc: Use image node_id 2 for calling a global function with example usage: test_metric_run_metric_obj(mock_run, parse_records, record_q) without return types