Initial commit
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,37 @@
|
||||
from dotenv import load_dotenv, find_dotenv
|
||||
load_dotenv(find_dotenv())
|
||||
import os
|
||||
from modules.logger_tool import initialise_logger
|
||||
logger = initialise_logger(__name__, os.getenv("LOG_LEVEL"), os.getenv("LOG_PATH"), 'default', True)
|
||||
from fastapi import APIRouter
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
@router.post("/run-pytest-timetable")
|
||||
async def run_pytest_timetable():
|
||||
import subprocess
|
||||
|
||||
home_dir = os.environ['HOME_DIR']
|
||||
backend_test_dir = os.environ['BACKEND_TEST_DIR']
|
||||
logger.debug(f"original home_dir: {home_dir}")
|
||||
logger.debug(f"original backend_test_dir: {backend_test_dir}")
|
||||
|
||||
if backend_test_dir[0] != '/':
|
||||
backend_test_dir = '/' + backend_test_dir
|
||||
|
||||
# Convert backslashes to forward slashes for Windows compatibility
|
||||
home_dir = home_dir.replace('\\', '/')
|
||||
backend_test_dir = backend_test_dir.replace('\\', '/')
|
||||
logger.debug(f"new home_dir: {home_dir}")
|
||||
logger.debug(f"new backend_test_dir: {backend_test_dir}")
|
||||
|
||||
# Join and normalize the path
|
||||
pytest_dir = os.path.normpath(os.path.join(home_dir, backend_test_dir.lstrip('/'), "pytest_timetable.py"))
|
||||
pytest_dir = pytest_dir.replace('\\', '/') # Ensure forward slashes
|
||||
f_string = f"pytest {pytest_dir} --maxfail=1 --disable-warnings -q"
|
||||
logger.debug(f"f_string: {f_string}")
|
||||
|
||||
result = subprocess.run(f_string, capture_output=True, text=True, shell=True)
|
||||
logger.debug(f"result: {result}")
|
||||
|
||||
return {"stdout": result.stdout, "stderr": result.stderr}
|
||||
Reference in New Issue
Block a user