Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Make computeAlignment more efficient #389

Merged
merged 1 commit into from
Sep 24, 2023
Merged

Conversation

Bodigrim
Copy link
Collaborator

Currently Test.Tasty.Ingredients.ConsoleReporter.computeAlignment evaluation is extremely inefficient: firstly because data Maximum lacks strictness annotations, and secondly because foldTestTree operates not even over Maximum a, but over Int -> Maximum a.

The patch improves efficiency of computeAlignment and arguably makes its implementation simpler.

CC @martijnbastiaan for review.

Currently `Test.Tasty.Ingredients.ConsoleReporter.computeAlignment` evaluation
is extremely inefficient: firstly because `data Maximum` lacks strictness
annotations, and secondly because `foldTestTree` operates not even
over `Maximum a`, but over `Int -> Maximum a`.

The patch improves efficiency of `computeAlignment` and arguably makes
its implementation simpler.
Copy link
Collaborator

@VictorCMiraldo VictorCMiraldo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Thanks for the patch @Bodigrim

Copy link
Contributor

@martijnbastiaan martijnbastiaan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks much simpler!

@Bodigrim Bodigrim merged commit c6ea446 into master Sep 24, 2023
@Bodigrim Bodigrim deleted the stricter-computeAlignment branch September 24, 2023 13:54
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Jan 29, 2025
Version 1.5.3
--------------

_2025-01-05_

* Console reporter: disable line wrapping
  ([#433](UnkindPartition/tasty#433)).
* Console reporter: force flushing of stdout after `showCursor`
  ([#436](UnkindPartition/tasty#436)).

Version 1.5.2
--------------

_2024-11-03_

* Partially revert [#393](UnkindPartition/tasty#393)
  to fix progress reporting outside of Emacs.
* Do not depend on `unbounded-delays` on `ppc64`, `s390x` and `riscv64`
  ([#371](UnkindPartition/tasty#371),
   [#422](UnkindPartition/tasty#422),
   [#423](UnkindPartition/tasty#423)).


Version 1.5.1
--------------

_2024-06-22_

* Performance improvements
  ([#389](UnkindPartition/tasty#389),
   [#390](UnkindPartition/tasty#390)).
* Progress reporting in Emacs: use `\r` instead of ANSI escape sequences
  ([#393](UnkindPartition/tasty#393)).
* Console reporter: fix unintended change to `foldHeading`
  ([#396](UnkindPartition/tasty#396)).
* Prune empty test subtrees from `TestTree`
  ([#403](UnkindPartition/tasty#403)).
* Add `instance Eq Timeout` and `instance Ord Timeout`
  ([#415](UnkindPartition/tasty#415)).
* Add ability to supply options for launchers and reporters at the top-level of test tree
  ([#417](UnkindPartition/tasty#417)).
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants