| # 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 |