Sha256: 9b7acc9b84ef50b86bebd2231b28c547866029ffa33ef6df27a9d2defa28f528

Contents?: true

Size: 1.47 KB

Versions: 24

Compression:

Stored size: 1.47 KB

Contents

# ********** Copyright Viacom, Inc. Apache 2.0 **********

module RokuBuilder

  # Method for running unit tests
  # This is intended to be used with the brstest librbary but should work
  # with other testing libraries
  class Tester < Util

    # Initialize starting and ending regular expressions
    def init()
      @end_reg = /\*\*\*\*\* ENDING TESTS \*\*\*\*\*/
      @start_reg = /\*\*\*\*\* STARTING TESTS \*\*\*\*\*/
    end

    # Run tests and report results
    # @param sideload_config [Hash] The config for sideloading the app
    def run_tests(sideload_config:)
      telnet_config ={
        'Host' => @roku_ip_address,
        'Port' => 8085
      }

      loader = Loader.new(**@device_config)
      connection = Net::Telnet.new(telnet_config)
      code, _build_version = loader.sideload(**sideload_config)

      if code = SUCCESS
        in_tests = false
        connection.waitfor(@end_reg) do |txt|
          in_tests = handle_text(txt: txt, in_tests: in_tests)
        end
        connection.puts("cont\n")
      end
    end

    private

    # Handel testing text
    # @param txt [String] current text from telnet
    # @param in_tests [Boolean] currently parsing test text
    # @return [Boolean] currently parsing test text
    def handle_text(txt:, in_tests:)
      txt.split("\n").each do |line|
        in_tests = false if line =~ @end_reg
        @logger.unknown line if in_tests
        in_tests = true if line =~ @start_reg
      end
      in_tests
    end
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
roku_builder-3.11.0 lib/roku_builder/tester.rb
roku_builder-3.10.7 lib/roku_builder/tester.rb
roku_builder-3.10.6 lib/roku_builder/tester.rb
roku_builder-3.10.5 lib/roku_builder/tester.rb
roku_builder-3.10.4 lib/roku_builder/tester.rb
roku_builder-3.10.3 lib/roku_builder/tester.rb
roku_builder-3.10.2 lib/roku_builder/tester.rb
roku_builder-3.10.1 lib/roku_builder/tester.rb
roku_builder-3.10.0 lib/roku_builder/tester.rb
roku_builder-3.9.0 lib/roku_builder/tester.rb
roku_builder-3.8.5 lib/roku_builder/tester.rb
roku_builder-3.8.4 lib/roku_builder/tester.rb
roku_builder-3.8.3 lib/roku_builder/tester.rb
roku_builder-3.8.2 lib/roku_builder/tester.rb
roku_builder-3.8.1 lib/roku_builder/tester.rb
roku_builder-3.8.0 lib/roku_builder/tester.rb
roku_builder-3.7.3 lib/roku_builder/tester.rb
roku_builder-3.7.2 lib/roku_builder/tester.rb
roku_builder-3.7.1 lib/roku_builder/tester.rb
roku_builder-3.7.0 lib/roku_builder/tester.rb