code: def test_recover_measure_input():
      task = auto_scheduler.SearchTask(
          func=matmul_auto_scheduler_test,
          args=(512, 512, 512),
          target="llvm",
      )
  
      inp = auto_scheduler.measure.MeasureInput(
          task, task.compute_dag.init_state
      )
      res = auto_scheduler.measure.MeasureResult([0.1], 0, "", 0.2, 1)
  
      with tempfile.NamedTemporaryFile() as fp:
          auto_scheduler.save_records(fp.name, [inp], [res])
  
          log_reader = auto_scheduler.RecordReader(fp.name)
          inputs, _ = log_reader.read_lines()
          assert len(inputs) == 1
  
          raw_inp = inputs[0]
  
          correct_inp = auto_scheduler.measure.recover_measure_input(
              raw_inp
          )
          assert str(correct_inp.task.compute_dag) == str(
              inp.task.compute_dag
          )
  
          correct_inp = auto_scheduler.measure.recover_measure_input(
              raw_inp, rebuild_state=True
          )
          assert str(correct_inp.state) == str(inp.state)
  
imports: import json
  import multiprocessing
  import numpy
  import tvm
  from tvm import topi
  from tvm import te, auto_scheduler
  import tempfile
  import tvm.testing
  import pickle
  from tvm.testing.auto_scheduler import matmul_auto_scheduler_test
  from tvm.auto_scheduler import workload_registry
label_desc: Use image node_id 6 for calling a global function with example usage: test_recover_measure_input() without return types