anchor.diff:                                 ]},
        {start_fail, [], [start_fail_when_no_name, start_fail_when_multiple_names, start_fail_when_circular_argsfiles,
                          start_fail_when_missing_argsfile, start_fail_when_relative_argsfile]},
  -     {extension_scripts, [], [extension_script,
  -                              extension_script_exit_code,
  -                              extension_script_fail_when_no_exit]},
        {hooks, [], [custom_start_script_hooks, custom_start_script_hooks_console,
                     builtin_wait_for_vm_start_script_hook, builtin_pid_start_script_hook,
                     builtin_wait_for_process_start_script_hook, mixed_custom_and_builtin_start_script_hooks]},
  
positive.code:     rlx_file_utils:write(VmArgs3, "-args_file " ++ VmArgs2 ++ "\n"),
      start_fail_with_vmargs([{out_dir, OutputDir} | Config], VmArgs, 5).
  
  extension_script(Config) ->
      ExtensionScript =
          "#!/bin/bash\n"
          "echo \\{bar, $REL_NAME, \\'$NAME\\', $COOKIE\\}.\n"
          "exit 0",
      OutputDir = setup_extension_script(Config, ExtensionScript),
      os:cmd(filename:join([OutputDir, "foo", "bin", "foo daemon"])),
      timer:sleep(?SLEEP_TIME),
      {ok, "pong"} = sh(filename:join([OutputDir, "foo", "bin", "foo ping"])),
      %% write the extension script output to a file
      {ok, Str} = sh(filename:join([OutputDir, "foo", "bin", "foo bar"])),
      rlx_file_utils:write(filename:join([OutputDir, "bar.txt"]), Str),
      os:cmd(filename:join([OutputDir, "foo", "bin", "foo stop"])),
      {ok, [Term]} = file:consult(filename:join([OutputDir, "bar.txt"])),
      {ok, {bar, foo, _, foo} = Term}.
  
  extension_script_exit_code(Config) ->
      ExtensionScript =
          "#!/bin/bash\n"
          "echo teststring\n"
          "exit 42\n",
      OutputDir = setup_extension_script(Config, ExtensionScript),
      %% check that the invocation exit code is the expected one
      {error, 42, Str} = sh(filename:join([OutputDir, "foo", "bin", "foo bar"])),
      %% check that the extension script ran
      {ok, "teststring" = Str}.
  
  extension_script_fail_when_no_exit(Config) ->
      ExtensionScript =
          "#!/bin/bash\n"
          "echo teststring\n",
      OutputDir = setup_extension_script(Config, ExtensionScript),
      %% check that the invocation exit code is non-zero
      {error, 1, Str} = sh(filename:join([OutputDir, "foo", "bin", "foo bar"])),
      %% check that the extension script ran
      {ok, "teststring" = Str}.
  
  %%-------------------------------------------------------------------
  %% Helper Function for start_fail_when_* tests
  %%-------------------------------------------------------------------
  
negative.code: end_per_suite(_Config) ->
      ok.
  
  init_per_group(start_fail, Config) ->
      PrivDir = ?config(priv_dir, Config),
      DirName = rlx_test_utils:create_random_name("longname-extended-testcase-output"),
  