From 9a7329a13ef0096463b727a9835ace22ae91ac05 Mon Sep 17 00:00:00 2001 From: Colin Delahunty <72827203+colin99d@users.noreply.github.com> Date: Wed, 9 Nov 2022 14:10:03 +0100 Subject: [PATCH] Integrated tests generate a csv file (#3352) Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> --- .gitignore | 1 + openbb_terminal/terminal_controller.py | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 45631fc70ff..a0894aec8d7 100644 --- a/.gitignore +++ b/.gitignore @@ -29,6 +29,7 @@ openbb_terminal/portfolio/portfolios/* *.http .coverage.* !openbb_terminal/reports/templates/*.ipynb +*_tests.csv # pyinstaller artifacts *.pyo diff --git a/openbb_terminal/terminal_controller.py b/openbb_terminal/terminal_controller.py index 3d867a21b97..87c55802d42 100644 --- a/openbb_terminal/terminal_controller.py +++ b/openbb_terminal/terminal_controller.py @@ -6,10 +6,13 @@ import argparse import difflib import logging import os +import csv from pathlib import Path +from datetime import datetime import sys import webbrowser from typing import List + import dotenv from rich import panel @@ -1067,7 +1070,18 @@ def run_test_list(path_list: List[str], filtert: str, verbose: bool): console.print("\n[red]Failures:[/red]\n") for file, exception in fails.items(): logger.error("%s: %s failed", file, exception) - console.print(f"{file}: {exception}\n") + # Write results to CSV + timestamp = datetime.now().timestamp() + output_path = f"{timestamp}_tests.csv" + with open(output_path, "w") as file: # type: ignore + header = ["File", "Error"] + writer = csv.DictWriter(file, fieldnames=header) # type: ignore + writer.writeheader() + for file, exception in fails.items(): + writer.writerow({"File": file, "Error": exception}) + + console.print(f"CSV of errors saved to {output_path}") + console.print( f"Summary: [green]Successes: {SUCCESSES}[/green] [red]Failures: {FAILURES}[/red]" )