Skip to content

cbt-2024.07.30

Compare
Choose a tag to compare
@swar-mukh swar-mukh released this 29 Jul 19:04
· 5 commits to main since this release

I am thrilled to share the sixth public release of cbt i.e. cbt-2024.07.30!

This release primarily focused on providing better support for unit-testing through cbt run-unit-tests command. Addressing a long standing request, tests are now timestamp-aware, i.e. only when any file in the dependency chain (including the test file) is modified, respective tests will be compiled and executed. This gives a significant boost to cbt and brings cbt to be at par with existing and well-established build tools.

cbt now also has a Contribution guidelines page allowing the community to participate in shaping its future!

Features

  1. Compile, test and build simply by invoking commands
  2. Use ready-made scaffold file content or customise/update it
  3. Use cbt_tools library AS IS or customise it as per project requirements

Installation

Note 1: Currently, binaries for only Ubuntu and Windows platforms are provided. For other platforms, refer to README.md for instructions on building from source.
Note 2: cbt relies on g++ for the underlying compilation mechanism. Ensure you have the GNU toolchain for your respective platform.

Steps

  1. Download the binary and the <platform>.sha256.checksum.txt for your respective platform.
  2. IMPORTANT: Ensure that the integrity of the binary is preserved by verifying it through the respective <platform>.sha256.checksum.txt file.
  3. Rename the binary to just cbt (or cbt.exe on Windows).
  4. On *nix platform, move the binary to /opt directory.
  5. On Windows, create a new folder C:\CBT\ and move the binary under it.
  6. Update PATH accordingly for your respective platform.
  7. Run cbt help.

You are good to go!

Highlights

  • Significantly upgrade testing support by @swar-mukh (095641a)
    • Detect dependencies in source file(s) during execution of unit-test(s) (this addresses #13)
    • Make unit-tests timestamp-aware
    • Add support for access to custom context for each test case
  • Fix a bug (#12) where nested test-files would not execute due to absent namespace by @swar-mukh (4877a0)
  • Add contribution guidelines for the community by @swar-mukh (aeb9521)

Full Changelog: refer here