diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index 033d5954..6862819f 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -4,7 +4,7 @@ on: pull_request: branches: [ master ] push: - branches: [ master ] + branches: [ master, feature/tox ] jobs: regression-testing: @@ -14,7 +14,8 @@ jobs: matrix: os: [ ubuntu-latest, - #windows-latest, # Need to adapt test_no_usernames_provided, test_versioning + windows-latest, + macos-latest, ] python-version: [ '3.8', diff --git a/tests/sherlock_interactives.py b/tests/sherlock_interactives.py index a05440b9..d0424af1 100644 --- a/tests/sherlock_interactives.py +++ b/tests/sherlock_interactives.py @@ -1,23 +1,30 @@ import os +import platform import re import subprocess class Interactives: - def run_cli(args: str = "") -> str: + def run_cli(args:str = "") -> str: """Pass arguments to Sherlock as a normal user on the command line""" - command = [f"sherlock {args}"] - proc_out: str = "" + # Adapt for platform differences (Windows likes to be special) + if platform.system == "Windows": + command:str = f"py -m sherlock {args}" + else: + command:str = f"sherlock {args}" + + proc_out:str = "" try: proc_out = subprocess.check_output(command, shell=True, stderr=subprocess.STDOUT) return proc_out.decode() except subprocess.CalledProcessError as e: raise InteractivesSubprocessError(e.output.decode()) + # -> list[str] is prefered, but will require deprecation of support for Python 3.8 def walk_sherlock_for_files_with(pattern: str) -> list: """Check all files within the Sherlock package for matching patterns""" - pattern: re.Pattern = re.compile(pattern) - matching_files: list[str] = [] + pattern:re.Pattern = re.compile(pattern) + matching_files:list[str] = [] for root, dirs, files in os.walk("sherlock"): for file in files: file_path = os.path.join(root,file)