blob: e828c764c24696ec88102e5094ed0f351a43748c [file] [log] [blame]
# Copyright 2025 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
from __future__ import annotations
from asyncio.subprocess import Process
from subprocess import Popen
from typing import IO, Any, Sequence, TypeAlias
from crossbench import path as pth
CmdArg: TypeAlias = pth.AnyPathLike
SequenceCmdArgs: TypeAlias = Sequence[CmdArg]
ListCmdArgs: TypeAlias = list[CmdArg]
TupleCmdArgs: TypeAlias = tuple[CmdArg, ...]
CmdArgs: TypeAlias = ListCmdArgs | TupleCmdArgs
ProcessLike: TypeAlias = Popen | Process | int
ProcessIo: TypeAlias = int | IO[Any] | None