Uploaded image for project: 'Puppet Development Kit'
  1. Puppet Development Kit
  2. PDK-641

`pdk bundle exec` should pass through the terminal to childprocesses

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Normal
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: PDK 1.12.0
    • Component/s: None
    • Template:
    • Acceptance Criteria:
      Hide

      Steps to manually validate:

      • In a PDK-compatible module, open one of unit test files (e.g. spec/classes/testmod_spec.rb) and add the following test case: 

        it "works with pry" do
          require 'pry'
          binding.pry
          
          expect(true).to be_truthy
        end
        

      • Run `pdk bundle exec rake spec` (may have to `pdk bundle update` first)
      • Validate that the breakpoint is reached and test run pauses with a pry session.
      • Validate that pry output is colorized and pry commands (e.g. "whereami" are usable)
      • Validate that typing "exit" resumes the test run and the command finishes normally.
      Show
      Steps to manually validate: In a PDK-compatible module, open one of unit test files (e.g. spec/classes/testmod_spec.rb) and add the following test case:  it "works with pry" do require 'pry' binding.pry expect( true ).to be_truthy end Run `pdk bundle exec rake spec` (may have to `pdk bundle update` first) Validate that the breakpoint is reached and test run pauses with a pry session. Validate that pry output is colorized and pry commands (e.g. "whereami" are usable) Validate that typing "exit" resumes the test run and the command finishes normally.
    • Release Notes:
      Enhancement
    • Release Notes Summary:
      Hide
      Commands invoked through the `pdk bundle` subcommand can now be interacted with normally. Previously their output streams were buffered and there was no way to supply any input. This should allow users to use advanced features like `pdk bundle console` as well as invoking `rake` tasks that require user interaction.
      Show
      Commands invoked through the `pdk bundle` subcommand can now be interacted with normally. Previously their output streams were buffered and there was no way to supply any input. This should allow users to use advanced features like `pdk bundle console` as well as invoking `rake` tasks that require user interaction.
    • QA Risk Assessment:
      Needs Assessment

      Description

      When starting interactive processes, like puppet-debugger, through pdk bundle exec, they just hang, or error out, because the terminal is not passed through to the childprocess.

      Since the bundle exec command is not hooked up to report processing in a sensible way (and I don't see how that would work, anyways), that change enables users a wide range of options without loosing functionality.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              jesse Jesse Scott
              Reporter:
              david.schmitt David Schmitt
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Zendesk Support