""" Testing guidelines and install """ import os import unittest from subprocess import run, CalledProcessError import pathlib class TestGuidelines(unittest.TestCase): def test_git(self): "The poj" assert run(["git", "status"], check=True) def test_has_requirement(self): root_dir = run( ["git", "rev-parse", "--show-toplevel"], capture_output=True, text=True ).stdout.strip() target = pathlib.Path(root_dir) / "requirements.txt" assert target.exists() assert target.is_file() def test_has_readme(self): root_dir = run( ["git", "rev-parse", "--show-toplevel"], capture_output=True, text=True ).stdout.strip() target = pathlib.Path(root_dir) / "README.rst" assert target.exists() assert target.is_file() @unittest.skipIf( True or os.environ.get("already_in_venv"), "Avoid self call infinite loop" ) def test_environment(self): """We want to make sure that the project is virtualenv compatible. we may provie and extra makefile for that (and automate build phase) """ venv = "-f", "MakefileVenv" for step in ["clean", "install", "test"]: with self.subTest(setp=step): try: run(["make", *venv, step], check=True) except CalledProcessError as E: print(E.output) raise