test

in lib/taste_tester/host.rb [75:128]


    def test
      logger.warn("Taste-testing on #{@name}")

      if TasteTester::Config.use_ssh_tunnels
        
        TasteTester::Tunnel.kill(@name)

        
        @tunnel.run
      end

      serialized_config = Base64.encode64(config).delete("\n")

      
      transport = get_transport

      
      transport << we_testing

      if TasteTester::Config.windows_target
        add_windows_test_cmds(transport, serialized_config)
      else
        add_sane_os_test_cmds(transport, serialized_config)
      end

      
      
      transport << we_testing

      status, output = transport.run

      case status
      when 0
        
        nil
      when 42
        fail TasteTester::Exceptions::AlreadyTestingError, output.chomp
      else
        transport.error!
      end

      
      cmds = TasteTester::Hooks.test_remote_cmds(
        TasteTester::Config.dryrun,
        @name,
      )

      if cmds&.any?
        transport = get_transport
        cmds.each { |c| transport << c }
        transport.run!
      end
    end