From 89762f47dd14ea2ff7aef85207fcd3ef1bb05e01 Mon Sep 17 00:00:00 2001 From: Cody D'Ambrosio Date: Sat, 25 Jan 2025 21:08:02 -0500 Subject: [PATCH] add diagnostics to ok test (#148) Co-authored-by: Cody D'Ambrosio --- AUTHORS | 1 + docs/releases.rst | 1 + src/tap/tracker.py | 3 ++- tests/test_tracker.py | 6 ++++++ 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/AUTHORS b/AUTHORS index d2964d4..941bde4 100644 --- a/AUTHORS +++ b/AUTHORS @@ -7,6 +7,7 @@ Contributors * Allison Karlitskaya * Andrew McNamara * Chris Clarke +* Cody D'Ambrosio * Erik Cederstrand * Marc Abramowitz * Mark E. Hamilton diff --git a/docs/releases.rst b/docs/releases.rst index 1a8a71d..7339d17 100644 --- a/docs/releases.rst +++ b/docs/releases.rst @@ -18,6 +18,7 @@ Version 3.2, To Be Released * Add support for Python 3.11. * Add support for Python 3.12. * Add support for Python 3.13. +* Add support for adding diagnostics to ok test Version 3.1, Released December 29, 2021 --------------------------------------- diff --git a/src/tap/tracker.py b/src/tap/tracker.py index 8eafd36..e208459 100644 --- a/src/tap/tracker.py +++ b/src/tap/tracker.py @@ -73,11 +73,12 @@ def _track(self, class_name): if self.combined: self.combined_test_cases_seen.append(class_name) - def add_ok(self, class_name, description, directive=""): + def add_ok(self, class_name, description, directive="", diagnostics=None): result = Result( ok=True, number=self._get_next_line_number(class_name), description=description, + diagnostics=diagnostics, directive=Directive(directive), ) self._add_line(class_name, result) diff --git a/tests/test_tracker.py b/tests/test_tracker.py index 2a58d7d..1e1c10e 100644 --- a/tests/test_tracker.py +++ b/tests/test_tracker.py @@ -283,6 +283,12 @@ def test_sanitizes_tap_file_path(self): file_path = tracker._get_tap_file_path("an awful \\ testcase / name\n") self.assertEqual("an-awful---testcase---name-.tap", file_path) + def test_adds_ok_with_diagnostics(self): + tracker = Tracker() + tracker.add_ok("FakeTestCase", "a description", diagnostics="# more info\n") + line = tracker._test_cases["FakeTestCase"][0] + self.assertEqual("# more info\n", line.diagnostics) + def test_adds_not_ok_with_diagnostics(self): tracker = Tracker() tracker.add_not_ok("FakeTestCase", "a description", diagnostics="# more info\n")