Skip to content

Choose a tag to compare

@github-actions github-actions released this 30 Jun 12:09

cest framework v5 brings bug fixes, Quality of Life improvements and new assertions to make more expressive tests easily.

External contributions

This release contains code contributed by external contributors. Thank you!

New features

  • Add Win32 support with MinGW
  • Add assertions for std::string_view
  • Add assertions for std::path
  • Add assertions for std::complex
  • Add assertions for std::chrono
  • Add assertions for std::unique_ptr and std::shared_ptr
  • Add assertions for std::bitset
  • Add assertions for std::multi~
  • Add assertions for std::list and std::forward_list
  • Add assertions for std::deque
  • Add assertions for std::tuple and std::pair
  • Add assertions for std::map and std::optional
  • Add assertions for std::array
  • Add assertions for std::map and std::unordered_map
  • Add assertions for std::set and std::unordered_set
  • Add --grep option to cest runner to test cases to run with
  • Add todo() test definition
  • Add xdescribe and fdescribe macros
  • Add toEqualBytes() assertion for C structs without operator==()
  • Add toHaveBitsSet() assertion for C style bitfields
  • Add toBeInRange() assertion for comparable elements

Quality of Life improvements

  • Gracefully support NULL C string assertions
  • Support assertion of C array-like without pointer decay
  • Add generic toBeGreaterThan() and toBeLessThan() assertions
  • Review wording of assertion error messages
  • Add callable assertions for exception handling
  • Track per test duration and display in summary
  • Support equality assertions of custom types without ostream operator overload

Fixes

  • Add G++ 14.x support
  • fix(suites): restore describe scope, allow sibling top-level suites and reject duplicate names (#81)
  • Fix out-of-bounds write when reading child process output (#80) (Thank you @jamofer !)
  • Fix typo in truthy and falsy assertions (Thank you @jamofer !)

Other

  • Revamp CI/CD and release pipeline
  • Compile with explicit -Wunused-value