Sha256: d7926643df754d6bf56a39c1304268210a17cdd67c2baf9ede0dff0c64835527

Contents?: true

Size: 1.7 KB

Versions: 3

Compression:

Stored size: 1.7 KB

Contents

module Scan
  # This classes methods are called when something goes wrong in the building process
  class ErrorHandler
    class << self
      # @param [String] The output of the errored build
      # This method should raise an exception in any case, as the return code indicated a failed build
      def handle_build_error(output)
        # The order of the handling below is import
        case output
        when /US\-ASCII/
          print "Your shell environment is not correctly configured"
          print "Instead of UTF-8 your shell uses US-ASCII"
          print "Please add the following to your '~/.bashrc':"
          print ""
          print "       export LANG=en_US.UTF-8"
          print "       export LANGUAGE=en_US.UTF-8"
          print "       export LC_ALL=en_US.UTF-8"
          print ""
          print "You'll have to restart your shell session after updating the file."
          print "If you are using zshell or another shell, make sure to edit the correct bash file."
          print "For more information visit this stackoverflow answer:"
          print "https://stackoverflow.com/a/17031697/445598"
        when /Testing failed/
          UI.user_error!("Error building the application - see the log above", show_github_issues: false)
        when /Executed/
          # this is *really* important:
          # we don't want to raise an exception here
          # as we handle this in runner.rb at a later point
          # after parsing the actual test results
          return
        end
        UI.user_error!("Error building/testing the application - see the log above")
      end

      private

      # Just to make things easier
      def print(text)
        UI.error(text)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
scan-0.11.2 lib/scan/error_handler.rb
scan-0.11.1 lib/scan/error_handler.rb
scan-0.11.0 lib/scan/error_handler.rb