diff --git a/tests/fixtures/complex_command_procfile/Procfile b/tests/fixtures/complex_command_procfile/Procfile new file mode 100644 index 0000000..acb7f82 --- /dev/null +++ b/tests/fixtures/complex_command_procfile/Procfile @@ -0,0 +1,2 @@ +# Tests use of compound bash commands, both quote styles, nested quoting and variable interpolation. +web: echo 'this is the "web" process!' && echo "\"PORT\" is set to: '${PORT}'" diff --git a/tests/integration_test.rs b/tests/integration_test.rs index ec8e481..eca66ab 100644 --- a/tests/integration_test.rs +++ b/tests/integration_test.rs @@ -108,6 +108,27 @@ fn test_multiple_non_web_procfile() { ); } +#[test] +#[ignore = "integration test"] +// Tests use of compound bash commands, both quote styles, nested quoting and variable interpolation. +fn test_complex_command_procfile() { + TestRunner::default().build( + BuildConfig::new( + "heroku/builder:22", + "tests/fixtures/complex_command_procfile", + ), + |context| { + context.start_container(ContainerConfig::new().env("PORT", "12345"), |container| { + let log_output = container.logs_wait(); + assert_eq!( + log_output.stdout, + "this is the \"web\" process!\n\"PORT\" is set to: '12345'\n" + ); + }); + }, + ); +} + #[test] #[ignore = "integration test"] // Tests a Procfile that happens to not be valid YAML, but is still valid according