parameters: (
          cls,
          name: str,
          run_script: str,
          outdir: str,
          gem5_artifact: Artifact,
          gem5_git_artifact: Artifact,
          run_script_git_artifact: Artifact,
          linux_binary_artifact: Artifact,
          disk_image_artifact: Artifact,
          *params: str,
          timeout: int = 60 * 15,
          check_failure: Callable[["gem5Run"], bool] = lambda run: False,
      )
return_statement: return run
docstring: name is the name of the run. The name is not necessarily unique. The
          name could be used to query the results of the run.
  
          run_script is the path to the run script to pass to gem5.
  
          Further parameters can be passed via extra arguments. These
          parameters will be passed in order to the gem5 run script.
  
          check_failure is a user-defined function that will be executed
          periodically (e.g., every 10 seconds) to check the health of the
          simulation. When it returns True, the simulation will be killed
  
          Note: When instantiating this class for the first time, it will create
          a file `info.json` in the outdir which contains a serialized version
          of this class.
docstring_summary: name is the name of the run. The name is not necessarily unique. The
          name could be used to query the results of the run.
docstring_tokens: name is the name of the run . The name is not necessarily unique . The name could be used to query the results of the run .
function: def createFSRun(
          cls,
          name: str,
          run_script: str,
          outdir: str,
          gem5_artifact: Artifact,
          gem5_git_artifact: Artifact,
          run_script_git_artifact: Artifact,
          linux_binary_artifact: Artifact,
          disk_image_artifact: Artifact,
          *params: str,
          timeout: int = 60 * 15,
          check_failure: Callable[["gem5Run"], bool] = lambda run: False,
      ) -> "gem5Run":
          """
          name is the name of the run. The name is not necessarily unique. The
          name could be used to query the results of the run.
  
          run_script is the path to the run script to pass to gem5.
  
          Further parameters can be passed via extra arguments. These
          parameters will be passed in order to the gem5 run script.
  
          check_failure is a user-defined function that will be executed
          periodically (e.g., every 10 seconds) to check the health of the
          simulation. When it returns True, the simulation will be killed
  
          Note: When instantiating this class for the first time, it will create
          a file `info.json` in the outdir which contains a serialized version
          of this class.
          """
          run = cls._create(
              name,
              Path(run_script),
              Path(outdir),
              gem5_artifact,
              gem5_git_artifact,
              run_script_git_artifact,
              params,
              timeout,
              check_failure,
          )
          run.linux_binary_path = Path(linux_binary_artifact.path)
          run.disk_image_path = Path(disk_image_artifact.path)
          run.linux_binary_artifact = linux_binary_artifact
          run.disk_image_artifact = disk_image_artifact
  
          # Assumes **/<linux_name>
          run.linux_name = run.linux_binary_path.name
          # Assumes **/<disk_name>
          run.disk_name = disk_image_artifact.name
  
          run.artifacts = [
              gem5_artifact,
              gem5_git_artifact,
              run_script_git_artifact,
              linux_binary_artifact,
              disk_image_artifact,
          ]
  
          run.string = f"{run.gem5_name} {run.script_name} "
          run.string += f"{run.linux_name} {run.disk_name} "
          run.string += " ".join(run.params)
          run.command = [
              str(run.gem5_binary_path),
              "-re",
              f"--outdir={run.outdir}",
              str(run.run_script),
              str(run.linux_binary_path),
              str(run.disk_image_path),
          ]
          run.command += list(params)
  
          run.hash = run._getHash()
          run.type = "gem5 run fs"
  
          # Make the directory if it doesn't exist
          os.makedirs(run.outdir, exist_ok=True)
          run.dumpJson("info.json")
  
          return run
function_tokens: def createFSRun ( cls , name : str , run_script : str , outdir : str , gem5_artifact : Artifact , gem5_git_artifact : Artifact , run_script_git_artifact : Artifact , linux_binary_artifact : Artifact , disk_image_artifact : Artifact , * params : str , timeout : int = 60 * 15 , check_failure : Callable [ [ "gem5Run" ] , bool ] = lambda run : False , ) -> "gem5Run" : run = cls . _create ( name , Path ( run_script ) , Path ( outdir ) , gem5_artifact , gem5_git_artifact , run_script_git_artifact , params , timeout , check_failure , ) run . linux_binary_path = Path ( linux_binary_artifact . path ) run . disk_image_path = Path ( disk_image_artifact . path ) run . linux_binary_artifact = linux_binary_artifact run . disk_image_artifact = disk_image_artifact # Assumes **/<linux_name> run . linux_name = run . linux_binary_path . name # Assumes **/<disk_name> run . disk_name = disk_image_artifact . name run . artifacts = [ gem5_artifact , gem5_git_artifact , run_script_git_artifact , linux_binary_artifact , disk_image_artifact , ] run . string = f"{run.gem5_name} {run.script_name} " run . string += f"{run.linux_name} {run.disk_name} " run . string += " " . join ( run . params ) run . command = [ str ( run . gem5_binary_path ) , "-re" , f"--outdir={run.outdir}" , str ( run . run_script ) , str ( run . linux_binary_path ) , str ( run . disk_image_path ) , ] run . command += list ( params ) run . hash = run . _getHash ( ) run . type = "gem5 run fs" # Make the directory if it doesn't exist os . makedirs ( run . outdir , exist_ok = True ) run . dumpJson ( "info.json" ) return run