Files
tinygrad/test/external/process_replay/helpers.py
qazal e46edc22aa use unittest helpers in TestTensorMetadata [pr] (#7329)
* use unittest helpers in TestTensorMetadata [pr]

* fix that

* 5 args
2024-10-28 18:38:30 +08:00

18 lines
830 B
Python

from dataclasses import dataclass
import traceback, subprocess
from typing import Dict, Optional, Tuple
from tinygrad.helpers import ContextVar, getenv
@dataclass(frozen=True)
class ProcessReplayContext:
loc: str
head_sha: str
run_id: Optional[int]
def get_process_replay_ctx() -> Tuple[ProcessReplayContext, Dict]:
stack = filter(lambda x: "tinygrad" in x.filename and not any(n in x.filename for n in ["engine/schedule.py", "engine/realize.py", \
"codegen/kernel.py", "unittest"]), traceback.extract_stack()[:-1])
loc = "\n".join(traceback.format_list(stack))
try: head_sha = subprocess.check_output(["git", "rev-parse", "HEAD"]).strip().decode()
except Exception: head_sha = ""
return ProcessReplayContext(loc, head_sha, getenv("GITHUB_RUN_ID") or None), {k:v.value for k,v in ContextVar._cache.items()}