heroku / libcnb.rs

A framework for writing Cloud Native Buildpacks in Rust
BSD 3-Clause "New" or "Revised" License
35 stars 6 forks source link

Fix tests after release of Procfile CNB v3.0.0 #800

Closed edmorley closed 7 months ago

edmorley commented 7 months ago

libcnb-test has some tests that make use of the Procfile CNB for testing the start_container() API.

These tests intentionally don't pin to a specific version of the Procfile CNB, so that (a) we don't have to manually update it all the time, (b) we test against what's actually in the builder image and so what people will be using. This is generally fine, since normally there won't be breaking changes in the Procfile CNB that affect our tests.

However, Procfile v3.0.0 was just released with an intentional breaking change to the way that the command vs args are handled.

Specifically, before the Procfile file entry would be set as the process command but now it's set as args.

See:

As a result, CI for this repo is failing with:

---- starting_containers stdout ----
thread 'starting_containers' panicked at libcnb-test/tests/integration_test.rs:502:21:
assertion failed: `(is empty)`
value (unescaped):
$DESIGNATION: line 1: Hello: command not found

value (escaped): `"$DESIGNATION: line 1: Hello: command not found\n"`

eg: https://github.com/heroku/libcnb.rs/actions/runs/8079052018/job/22073194983#step:8:256

We'll need to update the test here accordingly: https://github.com/heroku/libcnb.rs/blob/5c78f1d4cef1cbcce3f9e2ad6f4c622050439cf2/libcnb-test/tests/integration_test.rs#L445-L513