Skip to content

Commit 01b7e94

Browse files
authored
Merge pull request #72 from codeflash-ai/pytest-discovery-optimization
Pytest discovery optimization
2 parents d2bb5ab + 2e18cf5 commit 01b7e94

File tree

3 files changed

+225
-117
lines changed

3 files changed

+225
-117
lines changed

codeflash/cli_cmds/console.py

Lines changed: 47 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,16 @@
77

88
from rich.console import Console
99
from rich.logging import RichHandler
10-
from rich.progress import Progress, SpinnerColumn, TimeElapsedColumn
10+
from rich.progress import (
11+
BarColumn,
12+
MofNCompleteColumn,
13+
Progress,
14+
SpinnerColumn,
15+
TaskProgressColumn,
16+
TextColumn,
17+
TimeElapsedColumn,
18+
TimeRemainingColumn,
19+
)
1120

1221
from codeflash.cli_cmds.console_constants import SPINNER_TYPES
1322
from codeflash.cli_cmds.logging_config import BARE_LOGGING_FORMAT
@@ -22,7 +31,15 @@
2231
console = Console()
2332
logging.basicConfig(
2433
level=logging.INFO,
25-
handlers=[RichHandler(rich_tracebacks=True, markup=False, console=console, show_path=False, show_time=False)],
34+
handlers=[
35+
RichHandler(
36+
rich_tracebacks=True,
37+
markup=False,
38+
console=console,
39+
show_path=False,
40+
show_time=False,
41+
)
42+
],
2643
format=BARE_LOGGING_FORMAT,
2744
)
2845

@@ -31,7 +48,9 @@
3148

3249

3350
def paneled_text(
34-
text: str, panel_args: dict[str, str | bool] | None = None, text_args: dict[str, str] | None = None
51+
text: str,
52+
panel_args: dict[str, str | bool] | None = None,
53+
text_args: dict[str, str] | None = None,
3554
) -> None:
3655
"""Print text in a panel."""
3756
from rich.panel import Panel
@@ -58,7 +77,9 @@ def code_print(code_str: str) -> None:
5877

5978

6079
@contextmanager
61-
def progress_bar(message: str, *, transient: bool = False) -> Generator[TaskID, None, None]:
80+
def progress_bar(
81+
message: str, *, transient: bool = False
82+
) -> Generator[TaskID, None, None]:
6283
"""Display a progress bar with a spinner and elapsed time."""
6384
progress = Progress(
6485
SpinnerColumn(next(spinners)),
@@ -70,3 +91,25 @@ def progress_bar(message: str, *, transient: bool = False) -> Generator[TaskID,
7091
task = progress.add_task(message, total=None)
7192
with progress:
7293
yield task
94+
95+
96+
@contextmanager
97+
def test_files_progress_bar(
98+
total: int, description: str
99+
) -> Generator[tuple[Progress, TaskID], None, None]:
100+
"""Progress bar for test files."""
101+
with Progress(
102+
SpinnerColumn(next(spinners)),
103+
TextColumn("[progress.description]{task.description}"),
104+
BarColumn(
105+
complete_style="cyan",
106+
finished_style="green",
107+
pulse_style="yellow",
108+
),
109+
MofNCompleteColumn(),
110+
TimeElapsedColumn(),
111+
TimeRemainingColumn(),
112+
transient=True,
113+
) as progress:
114+
task_id = progress.add_task(description, total=total)
115+
yield progress, task_id

0 commit comments

Comments
 (0)