Fix platform differences

This commit is contained in:
Paul Pfeister 2024-05-20 23:24:03 -04:00
parent 906575df3a
commit 4aaf0583c5
No known key found for this signature in database
GPG key ID: 70D33A96CBD7A994
2 changed files with 15 additions and 7 deletions

View file

@ -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',

View file

@ -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)