Skip to content

Commit

Permalink
Use STDIN project in test_projects to ensure it runs quickly
Browse files Browse the repository at this point in the history
Existing test was actually running a full black-primer
run which could be slow. This goes from 8 seconds to
0.4 seconds on my machine.

Needed to move to top level scope to leverage the caplog
feature of pytest in order to test that the command line
was parsing the bogus arguments and dumping to stderr.
  • Loading branch information
nipunn1313 committed Oct 29, 2021
1 parent 5434407 commit c13b038
Showing 1 changed file with 17 additions and 11 deletions.
28 changes: 17 additions & 11 deletions tests/test_primer.py
Expand Up @@ -9,6 +9,7 @@
from os import getpid
from pathlib import Path
from platform import system
from pytest import LogCaptureFixture
from subprocess import CalledProcessError
from tempfile import TemporaryDirectory, gettempdir
from typing import Any, Callable, Iterator, List, Tuple, TypeVar
Expand Down Expand Up @@ -267,18 +268,23 @@ def test_help_output(self) -> None:
result = runner.invoke(cli.main, ["--help"])
self.assertEqual(result.exit_code, 0)

def test_projects(self) -> None:

def test_projects(caplog: LogCaptureFixture) -> None:
with event_loop():
runner = CliRunner()
result = runner.invoke(cli.main, ["--projects=STDIN,asdf"])
assert result.exit_code == 0
assert "1 / 1 succeeded" in result.output
assert "Projects not found: {'asdf'}" in caplog.text

caplog.clear()

with event_loop():
runner = CliRunner()
with event_loop():
result = runner.invoke(cli.main, ["--projects=tox,asdf"])
self.assertEqual(result.exit_code, 0)
assert "1 / 1 succeeded" in result.output

with event_loop():
runner = CliRunner()
result = runner.invoke(cli.main, ["--projects=tox,attrs"])
self.assertEqual(result.exit_code, 0)
assert "2 / 2 succeeded" in result.output
result = runner.invoke(cli.main, ["--projects=fdsa,STDIN"])
assert result.exit_code == 0
assert "1 / 1 succeeded" in result.output
assert "Projects not found: {'fdsa'}" in caplog.text


if __name__ == "__main__":
Expand Down

0 comments on commit c13b038

Please sign in to comment.