Happy Friday, last day of a long week, last day of September, and last day of Q3 for those who celebrate.
Here's a recap of what we shipped this week:
Comparing and visualizing images
Touca server can now ingest and compare any binary data as test result, with first-class support for comparison and visualization of JPEG and PNG images.
We released Python SDK v1.8.0 this week that supports passing binary values to touca.check
and other data capturing API functions.
We also published two new examples that showcase how this feature can make investigating regressions in image processing and computer vision applications so much easier.
Capturing external files and standard streams
Python SDK v1.8.0 also shipped with touca.check_file
that lets you submit external text or binary files (often generated during the test run) to the Touca Server to be treated as test results.
If you prefer using our CLI, we also added a touca check
sub-command that helps you easily capture any file or directory of files and submit them to the Touca server.
We designed touca check
as a convenient way to compare the test artifacts of a development version of your software against artifacts of a prior trusted version, without the need to keep the latter artifacts around. This is specially useful for local development or for finding regressions in the CI pipeline environment.
But what if you want to capture and compare the standard output or error of a process? Instead of writing them in files and passing those files as arguments to touca check
, we’ve added a special mode in which you could pipe your output stream directly to touca check
:
These features unlock so many opportunities. Bear with us as we work on refining and extending these new developer workflows over the next few weeks.
Declaring test cases programmatically
Python SDK v1.8.0 has yet another feature to impress you: the ability to pass test cases as code. Decorator @touca.workflow
, now accepts a testcases
parameter that could be a list, a generator, or a generator function.
This feature makes it intuitive to infer your test cases based on your test inputs, be they files or datasets in a given directory, or rows of a given column in a CSV file, or a nested array of JSON response of a particular API endpoint, etc.
Here’s how our new image processing example uses the names of image files as test cases:
This feature and other features highlighted above are all backward compatible. We encourage you to upgrade to Python SDK v1.8.0.
Other fixes and improvements
- Server: Improve comparison of arrays of objects
- Server: Improve logic for version auto-increment
- Server: Install script should run Docker containers as current user
- Python SDK: Add new computer vision example
- Python SDK: Fix shadow local variable name in v1.5.8
- Python SDK: Remove duplicate examples in open-source repository
- Business: Update pricing page
Thanks for reading! “Are you not entertained”?