rtext 0.8.2 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG +9 -0
- data/RText_Protocol +46 -3
- data/Rakefile +2 -2
- data/lib/rtext/context_builder.rb +49 -8
- data/lib/rtext/default_completer.rb +70 -25
- data/lib/rtext/default_service_provider.rb +3 -3
- data/lib/rtext/instantiator.rb +2 -6
- data/lib/rtext/language.rb +5 -5
- data/lib/rtext/serializer.rb +1 -1
- data/lib/rtext/service.rb +12 -5
- data/lib/rtext/tokenizer.rb +1 -1
- data/test/completer_test.rb +16 -15
- data/test/context_builder_test.rb +6 -5
- data/test/frontend/context_test.rb +3 -2
- data/test/instantiator_test.rb +34 -36
- data/test/integration/backend.out +15 -12
- data/test/integration/frontend.log +0 -444
- data/test/integration/test.rb +7 -5
- data/test/link_detector_test.rb +3 -2
- data/test/message_helper_test.rb +10 -11
- data/test/serializer_test.rb +22 -2
- data/test/tokenizer_test.rb +3 -2
- metadata +4 -4
    
        data/lib/rtext/instantiator.rb
    CHANGED
    
    | @@ -247,11 +247,7 @@ class Instantiator | |
| 247 247 | 
             
                    element.setOrAddGeneric(feature.name, proxy)
         | 
| 248 248 | 
             
                  else
         | 
| 249 249 | 
             
                    begin
         | 
| 250 | 
            -
                       | 
| 251 | 
            -
                        element.setOrAddGeneric(feature.name, v.value.to_f)
         | 
| 252 | 
            -
                      else
         | 
| 253 | 
            -
                        element.setOrAddGeneric(feature.name, v.value)
         | 
| 254 | 
            -
                      end
         | 
| 250 | 
            +
                      element.setOrAddGeneric(feature.name, v.value)
         | 
| 255 251 | 
             
                    rescue StandardError
         | 
| 256 252 | 
             
                      # backward compatibility for RGen versions not supporting BigDecimal
         | 
| 257 253 | 
             
                      if v.value.is_a?(BigDecimal)
         | 
| @@ -308,7 +304,7 @@ class Instantiator | |
| 308 304 | 
             
                else
         | 
| 309 305 | 
             
                  expected = { String => [:string, :identifier],
         | 
| 310 306 | 
             
                    Integer => [:integer],
         | 
| 311 | 
            -
                    Float => [:float | 
| 307 | 
            +
                    Float => [:float],
         | 
| 312 308 | 
             
                    RGen::MetamodelBuilder::DataTypes::Boolean => [:boolean],
         | 
| 313 309 | 
             
                    Object => [:string, :identifier, :integer, :float, :boolean]
         | 
| 314 310 | 
             
                  }[feature.eType.instanceClass] 
         | 
    
        data/lib/rtext/language.rb
    CHANGED
    
    | @@ -260,7 +260,7 @@ class Language | |
| 260 260 | 
             
              end
         | 
| 261 261 |  | 
| 262 262 | 
             
              def concrete_types(clazz)
         | 
| 263 | 
            -
                ([clazz] + clazz.eAllSubTypes).select{|c|  | 
| 263 | 
            +
                ([clazz] + clazz.eAllSubTypes).select{|c| c.concrete}
         | 
| 264 264 | 
             
              end
         | 
| 265 265 |  | 
| 266 266 | 
             
              def containments_by_target_type(clazz, type)
         | 
| @@ -299,7 +299,7 @@ class Language | |
| 299 299 | 
             
                @command_by_class = {}
         | 
| 300 300 | 
             
                @has_command = {}
         | 
| 301 301 | 
             
                root_epackage.eAllClasses.each do |c|
         | 
| 302 | 
            -
                  next  | 
| 302 | 
            +
                  next unless c.concrete
         | 
| 303 303 | 
             
                  cmd = command_name_provider.call(c)
         | 
| 304 304 | 
             
                  @command_by_class[c.instanceClass] = cmd 
         | 
| 305 305 | 
             
                  @has_command[cmd] = true
         | 
| @@ -307,7 +307,7 @@ class Language | |
| 307 307 | 
             
                  @class_by_command[clazz] ||= {} 
         | 
| 308 308 | 
             
                  containments(c).collect{|r|
         | 
| 309 309 | 
             
                      [r.eType] + r.eType.eAllSubTypes}.flatten.uniq.each do |t|
         | 
| 310 | 
            -
                    next  | 
| 310 | 
            +
                    next unless t.concrete
         | 
| 311 311 | 
             
                    cmw = command_name_provider.call(t)
         | 
| 312 312 | 
             
                    raise "ambiguous command name #{cmw}" if @class_by_command[clazz][cmw]
         | 
| 313 313 | 
             
                    @class_by_command[clazz][cmw] = t.instanceClass
         | 
| @@ -315,7 +315,7 @@ class Language | |
| 315 315 | 
             
                end
         | 
| 316 316 | 
             
                @class_by_command[nil] = {} 
         | 
| 317 317 | 
             
                @root_classes.each do |c|
         | 
| 318 | 
            -
                  next  | 
| 318 | 
            +
                  next unless c.concrete
         | 
| 319 319 | 
             
                  cmw = command_name_provider.call(c)
         | 
| 320 320 | 
             
                  raise "ambiguous command name #{cmw}" if @class_by_command[nil][cmw]
         | 
| 321 321 | 
             
                  @class_by_command[nil][cmw] = c.instanceClass
         | 
| @@ -323,7 +323,7 @@ class Language | |
| 323 323 | 
             
              end
         | 
| 324 324 |  | 
| 325 325 | 
             
              def default_root_classes(root_package)
         | 
| 326 | 
            -
                root_epackage.eAllClasses.select{|c|  | 
| 326 | 
            +
                root_epackage.eAllClasses.select{|c| c.concrete &&
         | 
| 327 327 | 
             
                  !c.eAllReferences.any?{|r| r.eOpposite && r.eOpposite.containment}}
         | 
| 328 328 | 
             
              end
         | 
| 329 329 |  | 
    
        data/lib/rtext/serializer.rb
    CHANGED
    
    | @@ -179,7 +179,7 @@ class Serializer | |
| 179 179 | 
             
                      result << v.to_s  
         | 
| 180 180 | 
             
                    end
         | 
| 181 181 | 
             
                  elsif feature.eType.instanceClass == Object
         | 
| 182 | 
            -
                    if v.to_s =~  | 
| 182 | 
            +
                    if v.to_s =~ /^-?\d+(\.\d+)?$|^\w+$|^true$|^false$/
         | 
| 183 183 | 
             
                      result << v.to_s  
         | 
| 184 184 | 
             
                    else
         | 
| 185 185 | 
             
                      result << "\"#{v.to_s.gsub("\\","\\\\\\\\").gsub("\"","\\\"").gsub("\n","\\n").
         | 
    
        data/lib/rtext/service.rb
    CHANGED
    
    | @@ -14,11 +14,12 @@ class Service | |
| 14 14 | 
             
              PortRangeEnd   = 9100
         | 
| 15 15 |  | 
| 16 16 | 
             
              FlushInterval  = 1
         | 
| 17 | 
            +
              ProtocolVersion = 1
         | 
| 17 18 |  | 
| 18 19 | 
             
              # Creates an RText backend service. Options:
         | 
| 19 20 | 
             
              #
         | 
| 20 21 | 
             
              #  :timeout
         | 
| 21 | 
            -
              #    idle time in seconds after which the service will terminate  | 
| 22 | 
            +
              #    idle time in seconds after which the service will terminate itself
         | 
| 22 23 | 
             
              #
         | 
| 23 24 | 
             
              #  :logger
         | 
| 24 25 | 
             
              #    a logger object on which the service will write its logging output
         | 
| @@ -98,6 +99,8 @@ class Service | |
| 98 99 | 
             
                  @logger.debug("request: "+obj.inspect) if @logger
         | 
| 99 100 | 
             
                  response = { "type" => "response", "invocation_id" => obj["invocation_id"] }
         | 
| 100 101 | 
             
                  case obj["command"]
         | 
| 102 | 
            +
                  when "version"
         | 
| 103 | 
            +
                    version(sock, obj, response)  
         | 
| 101 104 | 
             
                  when "load_model"
         | 
| 102 105 | 
             
                    load_model(sock, obj, response)
         | 
| 103 106 | 
             
                  when "content_complete"
         | 
| @@ -134,6 +137,10 @@ class Service | |
| 134 137 | 
             
                  true
         | 
| 135 138 | 
             
                end
         | 
| 136 139 | 
             
              end
         | 
| 140 | 
            +
              
         | 
| 141 | 
            +
              def version(sock, request, response)
         | 
| 142 | 
            +
                response["version"] = ProtocolVersion
         | 
| 143 | 
            +
              end
         | 
| 137 144 |  | 
| 138 145 | 
             
              def load_model(sock, request, response)
         | 
| 139 146 | 
             
                problems = @service_provider.get_problems(
         | 
| @@ -160,22 +167,22 @@ class Service | |
| 160 167 |  | 
| 161 168 | 
             
              InsertString = "insert"
         | 
| 162 169 | 
             
              DisplayString = "display"
         | 
| 170 | 
            +
              DescriptionString = "desc"
         | 
| 163 171 |  | 
| 164 172 | 
             
              def content_complete(sock, request, response)
         | 
| 165 173 | 
             
                # column numbers start at 1
         | 
| 166 174 | 
             
                linepos = request["column"]-1 
         | 
| 167 175 | 
             
                lines = request["context"]
         | 
| 176 | 
            +
                version = request["version"].to_i
         | 
| 168 177 | 
             
                lang = @service_provider.language
         | 
| 169 178 | 
             
                response["options"] = []
         | 
| 170 179 | 
             
                return unless lang
         | 
| 171 180 | 
             
                context = ContextBuilder.build_context(lang, lines, linepos)
         | 
| 172 181 | 
             
                @logger.debug("context element: #{lang.identifier_provider.call(context.element, nil, nil, nil)}") \
         | 
| 173 182 | 
             
                  if context && context.element && @logger
         | 
| 174 | 
            -
                options = @service_provider.get_completion_options(context)
         | 
| 175 | 
            -
                insert_str = "insert"
         | 
| 176 | 
            -
                display_str = "display"
         | 
| 183 | 
            +
                options = @service_provider.get_completion_options(context, version)
         | 
| 177 184 | 
             
                response["options"] = options.collect do |o|
         | 
| 178 | 
            -
                  {  | 
| 185 | 
            +
                  { InsertString => o.insert, DisplayString => o.display, DescriptionString => o.description }
         | 
| 179 186 | 
             
                end
         | 
| 180 187 | 
             
              end
         | 
| 181 188 |  | 
    
        data/lib/rtext/tokenizer.rb
    CHANGED
    
    | @@ -77,7 +77,7 @@ module Tokenizer | |
| 77 77 | 
             
                        str = $'
         | 
| 78 78 | 
             
                        result << Token.new(:boolean, $& == "true", idx, col, col+$&.size-1)
         | 
| 79 79 | 
             
                        col += $&.size
         | 
| 80 | 
            -
                      when /\A([a-zA-Z_]\w*)\b | 
| 80 | 
            +
                      when /\A([a-zA-Z_]\w*)\b:?/
         | 
| 81 81 | 
             
                        str = $'
         | 
| 82 82 | 
             
                        if $&[-1] == ?: 
         | 
| 83 83 | 
             
                          result << Token.new(:label, $1, idx, col, col+$&.size-1)
         | 
    
        data/test/completer_test.rb
    CHANGED
    
    | @@ -1,12 +1,13 @@ | |
| 1 1 | 
             
            $:.unshift File.join(File.dirname(__FILE__),"..","lib")
         | 
| 2 2 |  | 
| 3 | 
            -
             | 
| 3 | 
            +
            gem 'minitest'
         | 
| 4 | 
            +
            require 'minitest/autorun'
         | 
| 4 5 | 
             
            require 'rgen/metamodel_builder'
         | 
| 5 6 | 
             
            require 'rtext/language'
         | 
| 6 7 | 
             
            require 'rtext/context_builder'
         | 
| 7 8 | 
             
            require 'rtext/default_completer'
         | 
| 8 9 |  | 
| 9 | 
            -
            class CompleterTest < Test | 
| 10 | 
            +
            class CompleterTest < MiniTest::Test
         | 
| 10 11 |  | 
| 11 12 | 
             
            module TestMM
         | 
| 12 13 | 
             
              extend RGen::MetamodelBuilder::ModuleExtension
         | 
| @@ -311,8 +312,8 @@ def test_reference_value | |
| 311 312 | 
             
              options = complete(TestMM, %Q(\
         | 
| 312 313 | 
             
            TestNode related: |\
         | 
| 313 314 | 
             
              ), lambda { |r| [
         | 
| 314 | 
            -
                RText::DefaultCompleter::CompletionOption. | 
| 315 | 
            -
                RText::DefaultCompleter::CompletionOption. | 
| 315 | 
            +
                RText::DefaultCompleter::CompletionOption.from_text_extra("A", "a"),
         | 
| 316 | 
            +
                RText::DefaultCompleter::CompletionOption.from_text_extra("B", "b") ] })
         | 
| 316 317 | 
             
              assert_options([
         | 
| 317 318 | 
             
                ["A", "a"],
         | 
| 318 319 | 
             
                ["B", "b"],
         | 
| @@ -323,8 +324,8 @@ def test_reference_value_part | |
| 323 324 | 
             
              options = complete(TestMM, %Q(\
         | 
| 324 325 | 
             
            TestNode related: /My/|\
         | 
| 325 326 | 
             
              ), lambda { |r| [
         | 
| 326 | 
            -
                RText::DefaultCompleter::CompletionOption. | 
| 327 | 
            -
                RText::DefaultCompleter::CompletionOption. | 
| 327 | 
            +
                RText::DefaultCompleter::CompletionOption.from_text_extra("/My/Target", "a"),
         | 
| 328 | 
            +
                RText::DefaultCompleter::CompletionOption.from_text_extra("/MyOther/Target", "b") ] })
         | 
| 328 329 | 
             
              assert_options([
         | 
| 329 330 | 
             
                ["/My/Target", "a"],
         | 
| 330 331 | 
             
                ["/MyOther/Target", "b"]
         | 
| @@ -343,8 +344,8 @@ def test_reference_value_in_array | |
| 343 344 | 
             
              options = complete(TestMM, %Q(\
         | 
| 344 345 | 
             
            TestNode others: |
         | 
| 345 346 | 
             
            ), lambda { |r| [
         | 
| 346 | 
            -
                RText::DefaultCompleter::CompletionOption. | 
| 347 | 
            -
                RText::DefaultCompleter::CompletionOption. | 
| 347 | 
            +
                RText::DefaultCompleter::CompletionOption.from_text_extra("A", "a"),
         | 
| 348 | 
            +
                RText::DefaultCompleter::CompletionOption.from_text_extra("B", "b") ] })
         | 
| 348 349 | 
             
              assert_options([
         | 
| 349 350 | 
             
                ["A", "a"],
         | 
| 350 351 | 
             
                ["B", "b"],
         | 
| @@ -355,8 +356,8 @@ def test_reference_value_in_array_after_bracket | |
| 355 356 | 
             
              options = complete(TestMM, %Q(\
         | 
| 356 357 | 
             
            TestNode others: [|
         | 
| 357 358 | 
             
            ), lambda { |r| [
         | 
| 358 | 
            -
                RText::DefaultCompleter::CompletionOption. | 
| 359 | 
            -
                RText::DefaultCompleter::CompletionOption. | 
| 359 | 
            +
                RText::DefaultCompleter::CompletionOption.from_text_extra("A", "a"),
         | 
| 360 | 
            +
                RText::DefaultCompleter::CompletionOption.from_text_extra("B", "b") ] })
         | 
| 360 361 | 
             
              assert_options([
         | 
| 361 362 | 
             
                ["A", "a"],
         | 
| 362 363 | 
             
                ["B", "b"],
         | 
| @@ -367,8 +368,8 @@ def test_reference_value_in_array_second_value | |
| 367 368 | 
             
              options = complete(TestMM, %Q(\
         | 
| 368 369 | 
             
            TestNode others: [xxx, |
         | 
| 369 370 | 
             
            ), lambda { |r| [
         | 
| 370 | 
            -
                RText::DefaultCompleter::CompletionOption. | 
| 371 | 
            -
                RText::DefaultCompleter::CompletionOption. | 
| 371 | 
            +
                RText::DefaultCompleter::CompletionOption.from_text_extra("A", "a"),
         | 
| 372 | 
            +
                RText::DefaultCompleter::CompletionOption.from_text_extra("B", "b") ] })
         | 
| 372 373 | 
             
              assert_options([
         | 
| 373 374 | 
             
                ["A", "a"],
         | 
| 374 375 | 
             
                ["B", "b"],
         | 
| @@ -380,8 +381,8 @@ def test_reference_value_nested | |
| 380 381 | 
             
            TestNode {
         | 
| 381 382 | 
             
              TestNode SimpleState, others: [|/StatemachineMM/State]
         | 
| 382 383 | 
             
            ), lambda { |r| [
         | 
| 383 | 
            -
                RText::DefaultCompleter::CompletionOption. | 
| 384 | 
            -
                RText::DefaultCompleter::CompletionOption. | 
| 384 | 
            +
                RText::DefaultCompleter::CompletionOption.from_text_extra("A", "a"),
         | 
| 385 | 
            +
                RText::DefaultCompleter::CompletionOption.from_text_extra("B", "b") ] })
         | 
| 385 386 | 
             
              assert_options([
         | 
| 386 387 | 
             
                ["A", "a"],
         | 
| 387 388 | 
             
                ["B", "b"],
         | 
| @@ -572,7 +573,7 @@ END | |
| 572 573 | 
             
            end
         | 
| 573 574 |  | 
| 574 575 | 
             
            def assert_options(expected, options)
         | 
| 575 | 
            -
              assert_equal(expected, options.collect { |o| [o. | 
| 576 | 
            +
              assert_equal(expected, options.collect { |o| [o.insert, o.extra] })
         | 
| 576 577 | 
             
            end
         | 
| 577 578 |  | 
| 578 579 | 
             
            def complete(mm, text, ref_comp_option_provider=nil)
         | 
| @@ -1,11 +1,12 @@ | |
| 1 1 | 
             
            $:.unshift File.join(File.dirname(__FILE__),"..","lib")
         | 
| 2 2 |  | 
| 3 | 
            -
             | 
| 3 | 
            +
            gem 'minitest'
         | 
| 4 | 
            +
            require 'minitest/autorun'
         | 
| 4 5 | 
             
            require 'rgen/metamodel_builder'
         | 
| 5 6 | 
             
            require 'rtext/language'
         | 
| 6 7 | 
             
            require 'rtext/context_builder'
         | 
| 7 8 |  | 
| 8 | 
            -
            class ContextBuilderTest < Test | 
| 9 | 
            +
            class ContextBuilderTest < MiniTest::Test 
         | 
| 9 10 |  | 
| 10 11 | 
             
            module TestMM
         | 
| 11 12 | 
             
              extend RGen::MetamodelBuilder::ModuleExtension
         | 
| @@ -911,9 +912,9 @@ end | |
| 911 912 |  | 
| 912 913 | 
             
            def assert_context(c, options)
         | 
| 913 914 | 
             
              assert_equal(options[:prefix], c.prefix)
         | 
| 914 | 
            -
              assert_equal(options[:in_array], c.in_array)
         | 
| 915 | 
            -
              assert_equal(options[:in_block], c.in_block)
         | 
| 916 | 
            -
              assert_equal((options[:after_label] || false), c.after_label)
         | 
| 915 | 
            +
              assert_equal(options[:in_array], c.position.in_array)
         | 
| 916 | 
            +
              assert_equal(options[:in_block], c.position.in_block)
         | 
| 917 | 
            +
              assert_equal((options[:after_label] || false), c.position.after_label)
         | 
| 917 918 | 
             
              assert_equal(options[:problem], c.problem)
         | 
| 918 919 | 
             
              if options[:feature]
         | 
| 919 920 | 
             
                assert_equal(options[:feature], c.feature.name)
         | 
| @@ -1,9 +1,10 @@ | |
| 1 1 | 
             
            $:.unshift File.join(File.dirname(__FILE__),"..","..","lib")
         | 
| 2 2 |  | 
| 3 | 
            -
             | 
| 3 | 
            +
            gem 'minitest'
         | 
| 4 | 
            +
            require 'minitest/autorun'
         | 
| 4 5 | 
             
            require 'rtext/frontend/context'
         | 
| 5 6 |  | 
| 6 | 
            -
            class ContextTest < Test | 
| 7 | 
            +
            class ContextTest < MiniTest::Test
         | 
| 7 8 |  | 
| 8 9 | 
             
            def test_simple
         | 
| 9 10 | 
             
              assert_context(
         | 
    
        data/test/instantiator_test.rb
    CHANGED
    
    | @@ -1,14 +1,15 @@ | |
| 1 1 | 
             
            # coding: binary
         | 
| 2 2 | 
             
            $:.unshift File.join(File.dirname(__FILE__),"..","lib")
         | 
| 3 3 |  | 
| 4 | 
            -
             | 
| 4 | 
            +
            gem 'minitest'
         | 
| 5 | 
            +
            require 'minitest/autorun'
         | 
| 5 6 | 
             
            require 'bigdecimal'
         | 
| 6 7 | 
             
            require 'rgen/environment'
         | 
| 7 8 | 
             
            require 'rgen/metamodel_builder'
         | 
| 8 9 | 
             
            require 'rtext/instantiator'
         | 
| 9 10 | 
             
            require 'rtext/language'
         | 
| 10 11 |  | 
| 11 | 
            -
            class InstantiatorTest < Test | 
| 12 | 
            +
            class InstantiatorTest < MiniTest::Test
         | 
| 12 13 |  | 
| 13 14 | 
             
              module TestMM
         | 
| 14 15 | 
             
                extend RGen::MetamodelBuilder::ModuleExtension
         | 
| @@ -106,37 +107,6 @@ class InstantiatorTest < Test::Unit::TestCase | |
| 106 107 | 
             
                end
         | 
| 107 108 | 
             
              end
         | 
| 108 109 |  | 
| 109 | 
            -
              def test_int_float
         | 
| 110 | 
            -
                env, problems = instantiate(%Q(
         | 
| 111 | 
            -
                  TestNode float: "abc"
         | 
| 112 | 
            -
                  ), TestMM)
         | 
| 113 | 
            -
                assert_equal(1, problems.length)
         | 
| 114 | 
            -
                
         | 
| 115 | 
            -
                root_elements = []
         | 
| 116 | 
            -
                env, problems = instantiate(%Q(
         | 
| 117 | 
            -
                  TestNode text: "some text", float: -25 {
         | 
| 118 | 
            -
                    TestNode text: "child"
         | 
| 119 | 
            -
                    TestNode text: "child2"
         | 
| 120 | 
            -
                  }
         | 
| 121 | 
            -
                  ), TestMM, :root_elements => root_elements)
         | 
| 122 | 
            -
                assert_no_problems(problems)
         | 
| 123 | 
            -
                assert_model_simple(env)
         | 
| 124 | 
            -
                assert(root_elements.first.float.is_a?(Float))
         | 
| 125 | 
            -
                assert_equal(-25.0, root_elements.first.float)
         | 
| 126 | 
            -
             | 
| 127 | 
            -
                root_elements = []
         | 
| 128 | 
            -
                env, problems = instantiate(%Q(
         | 
| 129 | 
            -
                  TestNode text: "some text", float: -72.001 {
         | 
| 130 | 
            -
                    TestNode text: "child"
         | 
| 131 | 
            -
                    TestNode text: "child2"
         | 
| 132 | 
            -
                  }
         | 
| 133 | 
            -
                  ), TestMM, :root_elements => root_elements)
         | 
| 134 | 
            -
                assert_no_problems(problems)
         | 
| 135 | 
            -
                assert_model_simple(env)
         | 
| 136 | 
            -
                assert(root_elements.first.float.is_a?(Float))
         | 
| 137 | 
            -
                assert_equal(-72.001, root_elements.first.float)
         | 
| 138 | 
            -
              end
         | 
| 139 | 
            -
             | 
| 140 110 | 
             
              def test_simple
         | 
| 141 111 | 
             
                env, problems = instantiate(%Q(
         | 
| 142 112 | 
             
                  TestNode text: "some text", nums: [1,2] {
         | 
| @@ -538,7 +508,7 @@ class InstantiatorTest < Test::Unit::TestCase | |
| 538 508 | 
             
                  ), TestMMContextSensitiveCommands)
         | 
| 539 509 | 
             
                assert_no_problems(problems)
         | 
| 540 510 | 
             
                root = env.find(:class => TestMMContextSensitiveCommands::TestNode).first
         | 
| 541 | 
            -
                 | 
| 511 | 
            +
                assert root != nil
         | 
| 542 512 | 
             
                assert(root.command.is_a?(TestMMContextSensitiveCommands::SubPackage1::Command))
         | 
| 543 513 | 
             
                assert(root.command.command.is_a?(TestMMContextSensitiveCommands::SubPackage2::Command))
         | 
| 544 514 | 
             
              end
         | 
| @@ -554,7 +524,7 @@ class InstantiatorTest < Test::Unit::TestCase | |
| 554 524 | 
             
                    "Command" end)
         | 
| 555 525 | 
             
                assert_no_problems(problems)
         | 
| 556 526 | 
             
                root = env.find(:class => TestMMContextSensitiveCommands::TestNode).first
         | 
| 557 | 
            -
                 | 
| 527 | 
            +
                assert root != nil
         | 
| 558 528 | 
             
                assert(root.command.is_a?(TestMMContextSensitiveCommands::SubPackage1::Command))
         | 
| 559 529 | 
             
                assert(root.command.command.is_a?(TestMMContextSensitiveCommands::SubPackage2::Command))
         | 
| 560 530 | 
             
              end
         | 
| @@ -787,6 +757,17 @@ class InstantiatorTest < Test::Unit::TestCase | |
| 787 757 | 
             
                assert_problems([[/command 'NonRootClass' can not be used on root level/i, 2]], problems)
         | 
| 788 758 | 
             
              end
         | 
| 789 759 |  | 
| 760 | 
            +
              def test_invalid_root_label
         | 
| 761 | 
            +
                root_elements = []
         | 
| 762 | 
            +
                env, problems = instantiate(%Q(
         | 
| 763 | 
            +
                  TestNode text : A
         | 
| 764 | 
            +
                ), TestMM, :root_elements => root_elements)
         | 
| 765 | 
            +
                assert_problems([
         | 
| 766 | 
            +
                                 [/Unexpected unlabled argument, 0 unlabled arguments expected/i, 2],
         | 
| 767 | 
            +
                                 [/Unexpected :, expected newline/i, 2]
         | 
| 768 | 
            +
                                ], problems)
         | 
| 769 | 
            +
              end
         | 
| 770 | 
            +
             | 
| 790 771 | 
             
              #
         | 
| 791 772 | 
             
              # problem recovery
         | 
| 792 773 | 
             
              #
         | 
| @@ -1672,6 +1653,23 @@ class InstantiatorTest < Test::Unit::TestCase | |
| 1672 1653 | 
             
                ], problems)
         | 
| 1673 1654 | 
             
              end
         | 
| 1674 1655 |  | 
| 1656 | 
            +
              module TestMMObjectAttribute
         | 
| 1657 | 
            +
                extend RGen::MetamodelBuilder::ModuleExtension
         | 
| 1658 | 
            +
                class TestNode < RGen::MetamodelBuilder::MMBase
         | 
| 1659 | 
            +
                  has_many_attr 'objs', Object
         | 
| 1660 | 
            +
                end
         | 
| 1661 | 
            +
              end
         | 
| 1662 | 
            +
             | 
| 1663 | 
            +
              def test_object_attribute
         | 
| 1664 | 
            +
                roots = []
         | 
| 1665 | 
            +
                env, problems = instantiate(%Q(
         | 
| 1666 | 
            +
                  TestNode objs: ["some text", -123, someSymbol, true, false, -0.097]
         | 
| 1667 | 
            +
                  ), TestMMObjectAttribute, :root_elements => roots)
         | 
| 1668 | 
            +
                assert_no_problems(problems)
         | 
| 1669 | 
            +
                node = roots.first
         | 
| 1670 | 
            +
                assert_equal ['some text', -123, 'someSymbol', true, false, -0.097], node.objs
         | 
| 1671 | 
            +
              end
         | 
| 1672 | 
            +
             | 
| 1675 1673 | 
             
              private
         | 
| 1676 1674 |  | 
| 1677 1675 | 
             
              def instantiate(text, mm, options={})
         | 
| @@ -1712,7 +1710,7 @@ class InstantiatorTest < Test::Unit::TestCase | |
| 1712 1710 | 
             
              def assert_model_simple(env, *opts)
         | 
| 1713 1711 | 
             
                raise "unknown options" unless (opts - [:with_nums]).empty?
         | 
| 1714 1712 | 
             
                root = env.find(:class => TestMM::TestNode, :text => "some text").first
         | 
| 1715 | 
            -
                 | 
| 1713 | 
            +
                assert root != nil
         | 
| 1716 1714 | 
             
                assert_equal 2, root.childs.size
         | 
| 1717 1715 | 
             
                assert_equal [TestMM::TestNode, TestMM::TestNode], root.childs.collect{|c| c.class}
         | 
| 1718 1716 | 
             
                assert_equal ["child", "child2"], root.childs.text
         | 
| @@ -1,13 +1,16 @@ | |
| 1 1 | 
             
            RText service, listening on port 9001
         | 
| 2 | 
            -
            [ | 
| 3 | 
            -
            [ | 
| 4 | 
            -
            [ | 
| 5 | 
            -
            [ | 
| 6 | 
            -
            [ | 
| 7 | 
            -
             | 
| 8 | 
            -
             | 
| 9 | 
            -
             | 
| 10 | 
            -
             | 
| 11 | 
            -
             | 
| 12 | 
            -
             | 
| 13 | 
            -
             | 
| 2 | 
            +
            [15:34:36] INFO accepted connection
         | 
| 3 | 
            +
            [15:34:36] DEBUG request: {"command"=>"load_model", "invocation_id"=>1, "type"=>"request"}
         | 
| 4 | 
            +
            [15:34:36] DEBUG response: {"type"=>"response", "invocation_id"=>1, "problems"=>[], "total_problems"=>0}
         | 
| 5 | 
            +
            [15:34:36] INFO request complete (0.014002s)
         | 
| 6 | 
            +
            [15:34:36] DEBUG request: {"command"=>"link_targets", "context"=>[], "column"=>1, "invocation_id"=>2, "type"=>"request"}
         | 
| 7 | 
            +
            C:/Users/mthiede/gitrepos/rtext/lib/rtext/link_detector.rb:20:in `detect': undefined method `concat' for nil:NilClass (NoMethodError)
         | 
| 8 | 
            +
            	from C:/Users/mthiede/gitrepos/rtext/lib/rtext/service.rb:196:in `link_targets'
         | 
| 9 | 
            +
            	from C:/Users/mthiede/gitrepos/rtext/lib/rtext/service.rb:109:in `message_received'
         | 
| 10 | 
            +
            	from C:/Users/mthiede/gitrepos/rtext/lib/rtext/service.rb:80:in `block in run'
         | 
| 11 | 
            +
            	from C:/Users/mthiede/gitrepos/rtext/lib/rtext/service.rb:59:in `each'
         | 
| 12 | 
            +
            	from C:/Users/mthiede/gitrepos/rtext/lib/rtext/service.rb:59:in `run'
         | 
| 13 | 
            +
            	from C:/Users/mthiede/gitrepos/rtext/test/integration/ecore_editor.rb:50:in `<top (required)>'
         | 
| 14 | 
            +
            	from c:/tools/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
         | 
| 15 | 
            +
            	from c:/tools/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
         | 
| 16 | 
            +
            	from ../crash_on_request_editor.rb:12:in `<main>'
         | 
| @@ -40056,447 +40056,3 @@ I, [2016-09-26T15:34:35.936436 #197064]  INFO -- : ruby -I ../../../lib ../crash | |
| 40056 40056 |  | 
| 40057 40057 | 
             
            I, [2016-09-26T15:34:36.444486 #197064]  INFO -- : connecting to 9001
         | 
| 40058 40058 | 
             
            I, [2016-09-26T15:34:36.644506 #197064]  INFO -- : server socket closed (end of file)
         | 
| 40059 | 
            -
            I, [2017-01-26T14:08:45.368982 #191616]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../crash_on_request_editor.rb "*.ect" 2>&1
         | 
| 40060 | 
            -
             | 
| 40061 | 
            -
            I, [2017-01-26T14:08:45.696982 #191616]  INFO -- : connecting to 9001
         | 
| 40062 | 
            -
            I, [2017-01-26T14:08:45.901982 #191616]  INFO -- : server socket closed (end of file)
         | 
| 40063 | 
            -
            I, [2017-01-26T14:08:50.807982 #191616]  INFO -- : ruby -e "sleep(2)"
         | 
| 40064 | 
            -
             | 
| 40065 | 
            -
            W, [2017-01-26T14:08:53.028982 #191616]  WARN -- : could not connect socket (connection timeout)
         | 
| 40066 | 
            -
            I, [2017-01-26T14:08:53.028982 #191616]  INFO -- : ruby -e "sleep(2)"
         | 
| 40067 | 
            -
             | 
| 40068 | 
            -
            W, [2017-01-26T14:08:55.248982 #191616]  WARN -- : could not connect socket (connection timeout)
         | 
| 40069 | 
            -
            I, [2017-01-26T14:08:55.350982 #191616]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect4" 2>&1
         | 
| 40070 | 
            -
             | 
| 40071 | 
            -
            I, [2017-01-26T14:08:55.666982 #191616]  INFO -- : connecting to 9001
         | 
| 40072 | 
            -
            I, [2017-01-26T14:08:56.974982 #191616]  INFO -- : server socket closed (end of file)
         | 
| 40073 | 
            -
            I, [2017-01-26T14:08:56.976982 #191616]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect4" 2>&1
         | 
| 40074 | 
            -
             | 
| 40075 | 
            -
            I, [2017-01-26T14:08:57.292982 #191616]  INFO -- : connecting to 9001
         | 
| 40076 | 
            -
            I, [2017-01-26T14:08:58.599982 #191616]  INFO -- : server socket closed (end of file)
         | 
| 40077 | 
            -
            I, [2017-01-26T14:08:58.602982 #191616]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40078 | 
            -
             | 
| 40079 | 
            -
            I, [2017-01-26T14:08:58.918982 #191616]  INFO -- : connecting to 9001
         | 
| 40080 | 
            -
            I, [2017-01-26T14:09:00.225982 #191616]  INFO -- : server socket closed (end of file)
         | 
| 40081 | 
            -
            I, [2017-01-26T14:09:00.228982 #191616]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40082 | 
            -
             | 
| 40083 | 
            -
            I, [2017-01-26T14:09:00.544982 #191616]  INFO -- : connecting to 9001
         | 
| 40084 | 
            -
            I, [2017-01-26T14:09:01.850982 #191616]  INFO -- : server socket closed (end of file)
         | 
| 40085 | 
            -
            I, [2017-01-26T14:09:01.853982 #191616]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40086 | 
            -
             | 
| 40087 | 
            -
            I, [2017-01-26T14:09:02.171982 #191616]  INFO -- : connecting to 9001
         | 
| 40088 | 
            -
            I, [2017-01-26T14:09:04.699982 #191616]  INFO -- : server socket closed (end of file)
         | 
| 40089 | 
            -
            I, [2017-01-26T14:09:04.701982 #191616]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40090 | 
            -
             | 
| 40091 | 
            -
            I, [2017-01-26T14:09:05.018982 #191616]  INFO -- : connecting to 9001
         | 
| 40092 | 
            -
            I, [2017-01-26T14:09:06.230982 #191616]  INFO -- : server socket closed (end of file)
         | 
| 40093 | 
            -
            I, [2017-01-26T14:09:06.333982 #191616]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40094 | 
            -
             | 
| 40095 | 
            -
            I, [2017-01-26T14:09:06.649982 #191616]  INFO -- : connecting to 9001
         | 
| 40096 | 
            -
            I, [2017-01-26T14:09:07.954982 #191616]  INFO -- : server socket closed (end of file)
         | 
| 40097 | 
            -
            I, [2017-01-26T14:09:07.957982 #191616]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40098 | 
            -
             | 
| 40099 | 
            -
            I, [2017-01-26T14:09:08.274982 #191616]  INFO -- : connecting to 9001
         | 
| 40100 | 
            -
            I, [2017-01-26T14:09:09.581982 #191616]  INFO -- : server socket closed (end of file)
         | 
| 40101 | 
            -
            I, [2017-01-26T14:09:09.583982 #191616]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40102 | 
            -
             | 
| 40103 | 
            -
            I, [2017-01-26T14:09:09.901982 #191616]  INFO -- : connecting to 9001
         | 
| 40104 | 
            -
            I, [2017-01-26T14:09:11.208982 #191616]  INFO -- : server socket closed (end of file)
         | 
| 40105 | 
            -
            I, [2017-01-26T14:09:11.210982 #191616]  INFO -- : ruby -e "this will crash"
         | 
| 40106 | 
            -
             | 
| 40107 | 
            -
            W, [2017-01-26T14:09:12.229982 #191616]  WARN -- : could not connect socket (connection timeout)
         | 
| 40108 | 
            -
            I, [2017-01-26T14:09:12.229982 #191616]  INFO -- : ruby -e "this will crash"
         | 
| 40109 | 
            -
             | 
| 40110 | 
            -
            W, [2017-01-26T14:09:13.249982 #191616]  WARN -- : could not connect socket (connection timeout)
         | 
| 40111 | 
            -
            I, [2017-01-26T14:09:13.355982 #191616]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40112 | 
            -
             | 
| 40113 | 
            -
            I, [2017-01-26T14:09:13.671982 #191616]  INFO -- : connecting to 9001
         | 
| 40114 | 
            -
            I, [2017-01-26T14:09:15.278982 #191616]  INFO -- : server socket closed (end of file)
         | 
| 40115 | 
            -
            I, [2017-01-26T14:09:15.281982 #191616]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40116 | 
            -
             | 
| 40117 | 
            -
            I, [2017-01-26T14:09:15.598982 #191616]  INFO -- : connecting to 9001
         | 
| 40118 | 
            -
            I, [2017-01-26T14:09:17.005982 #191616]  INFO -- : server socket closed (end of file)
         | 
| 40119 | 
            -
            I, [2017-01-26T14:09:17.008982 #191616]  INFO -- : invalid_command_will_fail
         | 
| 40120 | 
            -
             | 
| 40121 | 
            -
            W, [2017-01-26T14:09:18.028982 #191616]  WARN -- : could not connect socket (connection timeout)
         | 
| 40122 | 
            -
            I, [2017-01-26T14:09:18.028982 #191616]  INFO -- : invalid_command_will_fail
         | 
| 40123 | 
            -
             | 
| 40124 | 
            -
            W, [2017-01-26T14:09:19.051982 #191616]  WARN -- : could not connect socket (connection timeout)
         | 
| 40125 | 
            -
            I, [2017-01-26T14:09:19.153982 #191616]  INFO -- : ruby -E utf-8 -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.invenc" 2>&1
         | 
| 40126 | 
            -
             | 
| 40127 | 
            -
            I, [2017-01-26T14:09:19.470982 #191616]  INFO -- : connecting to 9001
         | 
| 40128 | 
            -
            I, [2017-01-26T14:09:20.684982 #191616]  INFO -- : server socket closed (end of file)
         | 
| 40129 | 
            -
            I, [2017-01-26T14:09:20.786982 #191616]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect4" 2>&1
         | 
| 40130 | 
            -
             | 
| 40131 | 
            -
            I, [2017-01-26T14:09:21.103982 #191616]  INFO -- : connecting to 9001
         | 
| 40132 | 
            -
            I, [2017-01-26T14:09:22.409982 #191616]  INFO -- : server socket closed (end of file)
         | 
| 40133 | 
            -
            I, [2017-01-26T14:09:22.411982 #191616]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40134 | 
            -
             | 
| 40135 | 
            -
            I, [2017-01-26T14:09:22.728982 #191616]  INFO -- : connecting to 9001
         | 
| 40136 | 
            -
            I, [2017-01-26T14:09:24.752982 #191616]  INFO -- : server socket closed (end of file)
         | 
| 40137 | 
            -
            I, [2017-01-26T14:09:24.755982 #191616]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40138 | 
            -
             | 
| 40139 | 
            -
            I, [2017-01-26T14:09:25.072982 #191616]  INFO -- : connecting to 9001
         | 
| 40140 | 
            -
            I, [2017-01-26T14:09:26.583982 #191616]  INFO -- : server socket closed (end of file)
         | 
| 40141 | 
            -
            I, [2017-01-26T14:09:26.686982 #191616]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40142 | 
            -
             | 
| 40143 | 
            -
            I, [2017-01-26T14:09:27.006982 #191616]  INFO -- : connecting to 9001
         | 
| 40144 | 
            -
            I, [2017-01-26T14:09:28.312982 #191616]  INFO -- : server socket closed (end of file)
         | 
| 40145 | 
            -
            I, [2017-01-26T14:09:28.315982 #191616]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40146 | 
            -
             | 
| 40147 | 
            -
            I, [2017-01-26T14:09:28.631982 #191616]  INFO -- : connecting to 9001
         | 
| 40148 | 
            -
            I, [2017-01-26T14:09:29.835982 #191616]  INFO -- : server socket closed (end of file)
         | 
| 40149 | 
            -
            I, [2017-01-26T14:09:29.838982 #191616]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect3" 2>&1
         | 
| 40150 | 
            -
             | 
| 40151 | 
            -
            I, [2017-01-26T14:09:30.154982 #191616]  INFO -- : connecting to 9001
         | 
| 40152 | 
            -
            I, [2017-01-26T14:09:34.282982 #191616]  INFO -- : server socket closed (end of file)
         | 
| 40153 | 
            -
            I, [2017-01-26T14:09:34.285982 #191616]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40154 | 
            -
             | 
| 40155 | 
            -
            I, [2017-01-26T14:09:34.601982 #191616]  INFO -- : connecting to 9001
         | 
| 40156 | 
            -
            I, [2017-01-26T14:09:37.434982 #191616]  INFO -- : server socket closed (end of file)
         | 
| 40157 | 
            -
            I, [2017-01-26T14:09:37.439982 #191616]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40158 | 
            -
             | 
| 40159 | 
            -
            I, [2017-01-26T14:09:37.756982 #191616]  INFO -- : connecting to 9001
         | 
| 40160 | 
            -
            I, [2017-01-26T14:09:39.381982 #191616]  INFO -- : server socket closed (end of file)
         | 
| 40161 | 
            -
            I, [2017-01-26T14:09:39.384982 #191616]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40162 | 
            -
             | 
| 40163 | 
            -
            I, [2017-01-26T14:09:39.701982 #191616]  INFO -- : connecting to 9001
         | 
| 40164 | 
            -
            I, [2017-01-26T14:09:41.260982 #191616]  INFO -- : server socket closed (end of file)
         | 
| 40165 | 
            -
            I, [2017-01-26T14:09:41.262982 #191616]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40166 | 
            -
             | 
| 40167 | 
            -
            I, [2017-01-26T14:09:41.579982 #191616]  INFO -- : connecting to 9001
         | 
| 40168 | 
            -
            I, [2017-01-26T14:09:42.884982 #191616]  INFO -- : server socket closed (end of file)
         | 
| 40169 | 
            -
            I, [2017-01-26T14:15:15.280785 #191236]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../crash_on_request_editor.rb "*.ect" 2>&1
         | 
| 40170 | 
            -
             | 
| 40171 | 
            -
            I, [2017-01-26T14:15:15.807837 #191236]  INFO -- : connecting to 9001
         | 
| 40172 | 
            -
            I, [2017-01-26T14:15:16.011858 #191236]  INFO -- : server socket closed (end of file)
         | 
| 40173 | 
            -
            I, [2017-01-26T14:16:49.722228 #193172]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../crash_on_request_editor.rb "*.ect" 2>&1
         | 
| 40174 | 
            -
             | 
| 40175 | 
            -
            I, [2017-01-26T14:16:50.239280 #193172]  INFO -- : connecting to 9001
         | 
| 40176 | 
            -
            I, [2017-01-26T14:16:50.443300 #193172]  INFO -- : server socket closed (end of file)
         | 
| 40177 | 
            -
            I, [2017-01-26T14:16:55.354791 #193172]  INFO -- : ruby -e "sleep(2)"
         | 
| 40178 | 
            -
             | 
| 40179 | 
            -
            W, [2017-01-26T14:16:57.470003 #193172]  WARN -- : could not connect socket (connection timeout)
         | 
| 40180 | 
            -
            I, [2017-01-26T14:16:57.470003 #193172]  INFO -- : ruby -e "sleep(2)"
         | 
| 40181 | 
            -
             | 
| 40182 | 
            -
            W, [2017-01-26T14:16:59.587214 #193172]  WARN -- : could not connect socket (connection timeout)
         | 
| 40183 | 
            -
            I, [2017-01-26T14:16:59.689225 #193172]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect4" 2>&1
         | 
| 40184 | 
            -
             | 
| 40185 | 
            -
            I, [2017-01-26T14:17:00.204276 #193172]  INFO -- : connecting to 9001
         | 
| 40186 | 
            -
            I, [2017-01-26T14:17:01.426398 #193172]  INFO -- : server socket closed (end of file)
         | 
| 40187 | 
            -
            I, [2017-01-26T14:17:01.431399 #193172]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect4" 2>&1
         | 
| 40188 | 
            -
             | 
| 40189 | 
            -
            I, [2017-01-26T14:17:01.947450 #193172]  INFO -- : connecting to 9001
         | 
| 40190 | 
            -
            I, [2017-01-26T14:17:03.172573 #193172]  INFO -- : server socket closed (end of file)
         | 
| 40191 | 
            -
            I, [2017-01-26T14:17:03.274583 #193172]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40192 | 
            -
             | 
| 40193 | 
            -
            I, [2017-01-26T14:17:03.789635 #193172]  INFO -- : connecting to 9001
         | 
| 40194 | 
            -
            I, [2017-01-26T14:17:05.009757 #193172]  INFO -- : server socket closed (end of file)
         | 
| 40195 | 
            -
            I, [2017-01-26T14:17:05.012757 #193172]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40196 | 
            -
             | 
| 40197 | 
            -
            I, [2017-01-26T14:17:05.530809 #193172]  INFO -- : connecting to 9001
         | 
| 40198 | 
            -
            I, [2017-01-26T14:17:06.752931 #193172]  INFO -- : server socket closed (end of file)
         | 
| 40199 | 
            -
            I, [2017-01-26T14:17:06.756931 #193172]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40200 | 
            -
             | 
| 40201 | 
            -
            I, [2017-01-26T14:17:07.272983 #193172]  INFO -- : connecting to 9001
         | 
| 40202 | 
            -
            I, [2017-01-26T14:17:09.736229 #193172]  INFO -- : server socket closed (end of file)
         | 
| 40203 | 
            -
            I, [2017-01-26T14:17:09.740230 #193172]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40204 | 
            -
             | 
| 40205 | 
            -
            I, [2017-01-26T14:17:10.257281 #193172]  INFO -- : connecting to 9001
         | 
| 40206 | 
            -
            I, [2017-01-26T14:17:11.478403 #193172]  INFO -- : server socket closed (end of file)
         | 
| 40207 | 
            -
            I, [2017-01-26T14:17:11.581414 #193172]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40208 | 
            -
             | 
| 40209 | 
            -
            I, [2017-01-26T14:17:12.096465 #193172]  INFO -- : connecting to 9001
         | 
| 40210 | 
            -
            I, [2017-01-26T14:17:13.316587 #193172]  INFO -- : server socket closed (end of file)
         | 
| 40211 | 
            -
            I, [2017-01-26T14:17:13.319587 #193172]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40212 | 
            -
             | 
| 40213 | 
            -
            I, [2017-01-26T14:17:13.834639 #193172]  INFO -- : connecting to 9001
         | 
| 40214 | 
            -
            I, [2017-01-26T14:17:15.055761 #193172]  INFO -- : server socket closed (end of file)
         | 
| 40215 | 
            -
            I, [2017-01-26T14:17:15.058761 #193172]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40216 | 
            -
             | 
| 40217 | 
            -
            I, [2017-01-26T14:17:15.574813 #193172]  INFO -- : connecting to 9001
         | 
| 40218 | 
            -
            I, [2017-01-26T14:17:16.795935 #193172]  INFO -- : server socket closed (end of file)
         | 
| 40219 | 
            -
            I, [2017-01-26T14:17:16.897945 #193172]  INFO -- : ruby -e "this will crash"
         | 
| 40220 | 
            -
             | 
| 40221 | 
            -
            W, [2017-01-26T14:17:17.915047 #193172]  WARN -- : could not connect socket (connection timeout)
         | 
| 40222 | 
            -
            I, [2017-01-26T14:17:17.915047 #193172]  INFO -- : ruby -e "this will crash"
         | 
| 40223 | 
            -
             | 
| 40224 | 
            -
            W, [2017-01-26T14:17:18.992155 #193172]  WARN -- : could not connect socket (connection timeout)
         | 
| 40225 | 
            -
            I, [2017-01-26T14:17:19.094165 #193172]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40226 | 
            -
             | 
| 40227 | 
            -
            I, [2017-01-26T14:17:19.610216 #193172]  INFO -- : connecting to 9001
         | 
| 40228 | 
            -
            I, [2017-01-26T14:17:21.144370 #193172]  INFO -- : server socket closed (end of file)
         | 
| 40229 | 
            -
            I, [2017-01-26T14:17:21.148370 #193172]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40230 | 
            -
             | 
| 40231 | 
            -
            I, [2017-01-26T14:17:21.663422 #193172]  INFO -- : connecting to 9001
         | 
| 40232 | 
            -
            I, [2017-01-26T14:17:22.985554 #193172]  INFO -- : server socket closed (end of file)
         | 
| 40233 | 
            -
            I, [2017-01-26T14:17:22.989554 #193172]  INFO -- : invalid_command_will_fail
         | 
| 40234 | 
            -
             | 
| 40235 | 
            -
            W, [2017-01-26T14:17:24.005656 #193172]  WARN -- : could not connect socket (connection timeout)
         | 
| 40236 | 
            -
            I, [2017-01-26T14:17:24.005656 #193172]  INFO -- : invalid_command_will_fail
         | 
| 40237 | 
            -
             | 
| 40238 | 
            -
            W, [2017-01-26T14:17:25.023758 #193172]  WARN -- : could not connect socket (connection timeout)
         | 
| 40239 | 
            -
            I, [2017-01-26T14:17:25.125768 #193172]  INFO -- : ruby -E utf-8 -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.invenc" 2>&1
         | 
| 40240 | 
            -
             | 
| 40241 | 
            -
            I, [2017-01-26T14:17:25.642820 #193172]  INFO -- : connecting to 9001
         | 
| 40242 | 
            -
            I, [2017-01-26T14:17:26.865942 #193172]  INFO -- : server socket closed (end of file)
         | 
| 40243 | 
            -
            I, [2017-01-26T14:17:26.967952 #193172]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect4" 2>&1
         | 
| 40244 | 
            -
             | 
| 40245 | 
            -
            I, [2017-01-26T14:17:27.486004 #193172]  INFO -- : connecting to 9001
         | 
| 40246 | 
            -
            I, [2017-01-26T14:17:28.708126 #193172]  INFO -- : server socket closed (end of file)
         | 
| 40247 | 
            -
            I, [2017-01-26T14:17:28.711126 #193172]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40248 | 
            -
             | 
| 40249 | 
            -
            I, [2017-01-26T14:17:29.226178 #193172]  INFO -- : connecting to 9001
         | 
| 40250 | 
            -
            I, [2017-01-26T14:17:31.174373 #193172]  INFO -- : server socket closed (end of file)
         | 
| 40251 | 
            -
            I, [2017-01-26T14:17:31.277383 #193172]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40252 | 
            -
             | 
| 40253 | 
            -
            I, [2017-01-26T14:17:31.793435 #193172]  INFO -- : connecting to 9001
         | 
| 40254 | 
            -
            I, [2017-01-26T14:17:33.324588 #193172]  INFO -- : server socket closed (end of file)
         | 
| 40255 | 
            -
            I, [2017-01-26T14:17:33.328588 #193172]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40256 | 
            -
             | 
| 40257 | 
            -
            I, [2017-01-26T14:17:33.843640 #193172]  INFO -- : connecting to 9001
         | 
| 40258 | 
            -
            I, [2017-01-26T14:17:35.064762 #193172]  INFO -- : server socket closed (end of file)
         | 
| 40259 | 
            -
            I, [2017-01-26T14:17:35.068762 #193172]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40260 | 
            -
             | 
| 40261 | 
            -
            I, [2017-01-26T14:17:35.584814 #193172]  INFO -- : connecting to 9001
         | 
| 40262 | 
            -
            I, [2017-01-26T14:17:36.703926 #193172]  INFO -- : server socket closed (end of file)
         | 
| 40263 | 
            -
            I, [2017-01-26T14:17:36.805936 #193172]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect3" 2>&1
         | 
| 40264 | 
            -
             | 
| 40265 | 
            -
            I, [2017-01-26T14:17:37.321987 #193172]  INFO -- : connecting to 9001
         | 
| 40266 | 
            -
            I, [2017-01-26T14:17:42.190474 #193172]  INFO -- : server socket closed (end of file)
         | 
| 40267 | 
            -
            I, [2017-01-26T14:17:42.193475 #193172]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40268 | 
            -
             | 
| 40269 | 
            -
            I, [2017-01-26T14:17:42.709526 #193172]  INFO -- : connecting to 9001
         | 
| 40270 | 
            -
            I, [2017-01-26T14:17:45.508806 #193172]  INFO -- : server socket closed (end of file)
         | 
| 40271 | 
            -
            I, [2017-01-26T14:17:45.613817 #193172]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40272 | 
            -
             | 
| 40273 | 
            -
            I, [2017-01-26T14:17:46.129868 #193172]  INFO -- : connecting to 9001
         | 
| 40274 | 
            -
            I, [2017-01-26T14:17:47.659021 #193172]  INFO -- : server socket closed (end of file)
         | 
| 40275 | 
            -
            I, [2017-01-26T14:17:47.762031 #193172]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40276 | 
            -
             | 
| 40277 | 
            -
            I, [2017-01-26T14:17:48.278083 #193172]  INFO -- : connecting to 9001
         | 
| 40278 | 
            -
            I, [2017-01-26T14:17:49.810236 #193172]  INFO -- : server socket closed (end of file)
         | 
| 40279 | 
            -
            I, [2017-01-26T14:17:49.813236 #193172]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40280 | 
            -
             | 
| 40281 | 
            -
            I, [2017-01-26T14:17:50.328288 #193172]  INFO -- : connecting to 9001
         | 
| 40282 | 
            -
            I, [2017-01-26T14:17:51.544410 #193172]  INFO -- : server socket closed (end of file)
         | 
| 40283 | 
            -
            I, [2017-01-26T14:19:12.756530 #191916]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../crash_on_request_editor.rb "*.ect" 2>&1
         | 
| 40284 | 
            -
             | 
| 40285 | 
            -
            I, [2017-01-26T14:19:13.277582 #191916]  INFO -- : connecting to 9001
         | 
| 40286 | 
            -
            I, [2017-01-26T14:19:13.488603 #191916]  INFO -- : server socket closed (end of file)
         | 
| 40287 | 
            -
            I, [2017-01-26T14:19:18.393094 #191916]  INFO -- : ruby -e "sleep(2)"
         | 
| 40288 | 
            -
             | 
| 40289 | 
            -
            W, [2017-01-26T14:19:20.609315 #191916]  WARN -- : could not connect socket (connection timeout)
         | 
| 40290 | 
            -
            I, [2017-01-26T14:19:20.609315 #191916]  INFO -- : ruby -e "sleep(2)"
         | 
| 40291 | 
            -
             | 
| 40292 | 
            -
            W, [2017-01-26T14:19:22.727527 #191916]  WARN -- : could not connect socket (connection timeout)
         | 
| 40293 | 
            -
            I, [2017-01-26T14:19:22.831537 #191916]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect4" 2>&1
         | 
| 40294 | 
            -
             | 
| 40295 | 
            -
            I, [2017-01-26T14:19:23.346589 #191916]  INFO -- : connecting to 9001
         | 
| 40296 | 
            -
            I, [2017-01-26T14:19:24.567711 #191916]  INFO -- : server socket closed (end of file)
         | 
| 40297 | 
            -
            I, [2017-01-26T14:19:24.671721 #191916]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect4" 2>&1
         | 
| 40298 | 
            -
             | 
| 40299 | 
            -
            I, [2017-01-26T14:19:25.086763 #191916]  INFO -- : connecting to 9001
         | 
| 40300 | 
            -
            I, [2017-01-26T14:19:26.307885 #191916]  INFO -- : server socket closed (end of file)
         | 
| 40301 | 
            -
            I, [2017-01-26T14:19:26.409895 #191916]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40302 | 
            -
             | 
| 40303 | 
            -
            I, [2017-01-26T14:19:26.924947 #191916]  INFO -- : connecting to 9001
         | 
| 40304 | 
            -
            I, [2017-01-26T14:19:28.146069 #191916]  INFO -- : server socket closed (end of file)
         | 
| 40305 | 
            -
            I, [2017-01-26T14:19:28.248079 #191916]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40306 | 
            -
             | 
| 40307 | 
            -
            I, [2017-01-26T14:19:28.663120 #191916]  INFO -- : connecting to 9001
         | 
| 40308 | 
            -
            I, [2017-01-26T14:19:29.885243 #191916]  INFO -- : server socket closed (end of file)
         | 
| 40309 | 
            -
            I, [2017-01-26T14:19:29.989253 #191916]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40310 | 
            -
             | 
| 40311 | 
            -
            I, [2017-01-26T14:19:30.404295 #191916]  INFO -- : connecting to 9001
         | 
| 40312 | 
            -
            I, [2017-01-26T14:19:32.867541 #191916]  INFO -- : server socket closed (end of file)
         | 
| 40313 | 
            -
            I, [2017-01-26T14:19:32.969551 #191916]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40314 | 
            -
             | 
| 40315 | 
            -
            I, [2017-01-26T14:19:33.486603 #191916]  INFO -- : connecting to 9001
         | 
| 40316 | 
            -
            I, [2017-01-26T14:19:34.705725 #191916]  INFO -- : server socket closed (end of file)
         | 
| 40317 | 
            -
            I, [2017-01-26T14:19:34.708725 #191916]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40318 | 
            -
             | 
| 40319 | 
            -
            I, [2017-01-26T14:19:35.223776 #191916]  INFO -- : connecting to 9001
         | 
| 40320 | 
            -
            I, [2017-01-26T14:19:36.445899 #191916]  INFO -- : server socket closed (end of file)
         | 
| 40321 | 
            -
            I, [2017-01-26T14:19:36.450899 #191916]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40322 | 
            -
             | 
| 40323 | 
            -
            I, [2017-01-26T14:19:36.966951 #191916]  INFO -- : connecting to 9001
         | 
| 40324 | 
            -
            I, [2017-01-26T14:19:38.188073 #191916]  INFO -- : server socket closed (end of file)
         | 
| 40325 | 
            -
            I, [2017-01-26T14:19:38.291083 #191916]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40326 | 
            -
             | 
| 40327 | 
            -
            I, [2017-01-26T14:19:38.811135 #191916]  INFO -- : connecting to 9001
         | 
| 40328 | 
            -
            I, [2017-01-26T14:19:40.032257 #191916]  INFO -- : server socket closed (end of file)
         | 
| 40329 | 
            -
            I, [2017-01-26T14:19:40.134267 #191916]  INFO -- : ruby -e "this will crash"
         | 
| 40330 | 
            -
             | 
| 40331 | 
            -
            W, [2017-01-26T14:19:41.150369 #191916]  WARN -- : could not connect socket (connection timeout)
         | 
| 40332 | 
            -
            I, [2017-01-26T14:19:41.150369 #191916]  INFO -- : ruby -e "this will crash"
         | 
| 40333 | 
            -
             | 
| 40334 | 
            -
            W, [2017-01-26T14:19:42.167471 #191916]  WARN -- : could not connect socket (connection timeout)
         | 
| 40335 | 
            -
            I, [2017-01-26T14:19:42.269481 #191916]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40336 | 
            -
             | 
| 40337 | 
            -
            I, [2017-01-26T14:19:42.785533 #191916]  INFO -- : connecting to 9001
         | 
| 40338 | 
            -
            I, [2017-01-26T14:19:44.309685 #191916]  INFO -- : server socket closed (end of file)
         | 
| 40339 | 
            -
            I, [2017-01-26T14:19:44.312685 #191916]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40340 | 
            -
             | 
| 40341 | 
            -
            I, [2017-01-26T14:19:44.830737 #191916]  INFO -- : connecting to 9001
         | 
| 40342 | 
            -
            I, [2017-01-26T14:19:46.158870 #191916]  INFO -- : server socket closed (end of file)
         | 
| 40343 | 
            -
            I, [2017-01-26T14:19:46.166871 #191916]  INFO -- : invalid_command_will_fail
         | 
| 40344 | 
            -
             | 
| 40345 | 
            -
            W, [2017-01-26T14:19:47.182972 #191916]  WARN -- : could not connect socket (connection timeout)
         | 
| 40346 | 
            -
            I, [2017-01-26T14:19:47.182972 #191916]  INFO -- : invalid_command_will_fail
         | 
| 40347 | 
            -
             | 
| 40348 | 
            -
            W, [2017-01-26T14:19:48.200074 #191916]  WARN -- : could not connect socket (connection timeout)
         | 
| 40349 | 
            -
            I, [2017-01-26T14:19:48.302084 #191916]  INFO -- : ruby -E utf-8 -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.invenc" 2>&1
         | 
| 40350 | 
            -
             | 
| 40351 | 
            -
            I, [2017-01-26T14:19:48.817136 #191916]  INFO -- : connecting to 9001
         | 
| 40352 | 
            -
            I, [2017-01-26T14:19:50.138268 #191916]  INFO -- : server socket closed (end of file)
         | 
| 40353 | 
            -
            I, [2017-01-26T14:19:50.141268 #191916]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect4" 2>&1
         | 
| 40354 | 
            -
             | 
| 40355 | 
            -
            I, [2017-01-26T14:19:50.656320 #191916]  INFO -- : connecting to 9001
         | 
| 40356 | 
            -
            I, [2017-01-26T14:19:51.877442 #191916]  INFO -- : server socket closed (end of file)
         | 
| 40357 | 
            -
            I, [2017-01-26T14:19:51.882442 #191916]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40358 | 
            -
             | 
| 40359 | 
            -
            I, [2017-01-26T14:19:52.398494 #191916]  INFO -- : connecting to 9001
         | 
| 40360 | 
            -
            I, [2017-01-26T14:19:54.348689 #191916]  INFO -- : server socket closed (end of file)
         | 
| 40361 | 
            -
            I, [2017-01-26T14:19:54.352689 #191916]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40362 | 
            -
             | 
| 40363 | 
            -
            I, [2017-01-26T14:19:54.868741 #191916]  INFO -- : connecting to 9001
         | 
| 40364 | 
            -
            I, [2017-01-26T14:19:56.397894 #191916]  INFO -- : server socket closed (end of file)
         | 
| 40365 | 
            -
            I, [2017-01-26T14:19:56.504904 #191916]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40366 | 
            -
             | 
| 40367 | 
            -
            I, [2017-01-26T14:19:57.021956 #191916]  INFO -- : connecting to 9001
         | 
| 40368 | 
            -
            I, [2017-01-26T14:19:58.244078 #191916]  INFO -- : server socket closed (end of file)
         | 
| 40369 | 
            -
            I, [2017-01-26T14:19:58.247079 #191916]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40370 | 
            -
             | 
| 40371 | 
            -
            I, [2017-01-26T14:19:58.763130 #191916]  INFO -- : connecting to 9001
         | 
| 40372 | 
            -
            I, [2017-01-26T14:19:59.887243 #191916]  INFO -- : server socket closed (end of file)
         | 
| 40373 | 
            -
            I, [2017-01-26T14:19:59.890243 #191916]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect3" 2>&1
         | 
| 40374 | 
            -
             | 
| 40375 | 
            -
            I, [2017-01-26T14:20:00.406294 #191916]  INFO -- : connecting to 9001
         | 
| 40376 | 
            -
            I, [2017-01-26T14:20:05.149769 #191916]  INFO -- : server socket closed (end of file)
         | 
| 40377 | 
            -
            I, [2017-01-26T14:20:05.252779 #191916]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40378 | 
            -
             | 
| 40379 | 
            -
            I, [2017-01-26T14:20:05.771831 #191916]  INFO -- : connecting to 9001
         | 
| 40380 | 
            -
            I, [2017-01-26T14:20:08.569111 #191916]  INFO -- : server socket closed (end of file)
         | 
| 40381 | 
            -
            I, [2017-01-26T14:20:08.674121 #191916]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40382 | 
            -
             | 
| 40383 | 
            -
            I, [2017-01-26T14:20:09.190173 #191916]  INFO -- : connecting to 9001
         | 
| 40384 | 
            -
            I, [2017-01-26T14:20:10.728327 #191916]  INFO -- : server socket closed (end of file)
         | 
| 40385 | 
            -
            I, [2017-01-26T14:20:10.732327 #191916]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40386 | 
            -
             | 
| 40387 | 
            -
            I, [2017-01-26T14:20:11.248379 #191916]  INFO -- : connecting to 9001
         | 
| 40388 | 
            -
            I, [2017-01-26T14:20:12.775531 #191916]  INFO -- : server socket closed (end of file)
         | 
| 40389 | 
            -
            I, [2017-01-26T14:20:12.878542 #191916]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40390 | 
            -
             | 
| 40391 | 
            -
            I, [2017-01-26T14:20:13.394593 #191916]  INFO -- : connecting to 9001
         | 
| 40392 | 
            -
            I, [2017-01-26T14:20:14.710725 #191916]  INFO -- : server socket closed (end of file)
         | 
| 40393 | 
            -
            I, [2017-01-26T14:21:31.018355 #193980]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../crash_on_request_editor.rb "*.ect" 2>&1
         | 
| 40394 | 
            -
             | 
| 40395 | 
            -
            I, [2017-01-26T14:21:31.535406 #193980]  INFO -- : connecting to 9001
         | 
| 40396 | 
            -
            I, [2017-01-26T14:21:31.747428 #193980]  INFO -- : server socket closed (end of file)
         | 
| 40397 | 
            -
            I, [2017-01-26T14:21:36.650918 #193980]  INFO -- : ruby -e "sleep(2)"
         | 
| 40398 | 
            -
             | 
| 40399 | 
            -
            W, [2017-01-26T14:21:38.767130 #193980]  WARN -- : could not connect socket (connection timeout)
         | 
| 40400 | 
            -
            I, [2017-01-26T14:21:38.767130 #193980]  INFO -- : ruby -e "sleep(2)"
         | 
| 40401 | 
            -
             | 
| 40402 | 
            -
            W, [2017-01-26T14:21:40.884341 #193980]  WARN -- : could not connect socket (connection timeout)
         | 
| 40403 | 
            -
            I, [2017-01-26T14:21:40.988352 #193980]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect4" 2>&1
         | 
| 40404 | 
            -
             | 
| 40405 | 
            -
            I, [2017-01-26T14:21:41.503403 #193980]  INFO -- : connecting to 9001
         | 
| 40406 | 
            -
            I, [2017-01-26T14:21:42.724525 #193980]  INFO -- : server socket closed (end of file)
         | 
| 40407 | 
            -
            I, [2017-01-26T14:21:42.828536 #193980]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect4" 2>&1
         | 
| 40408 | 
            -
             | 
| 40409 | 
            -
            I, [2017-01-26T14:21:43.343587 #193980]  INFO -- : connecting to 9001
         | 
| 40410 | 
            -
            I, [2017-01-26T14:21:44.565709 #193980]  INFO -- : server socket closed (end of file)
         | 
| 40411 | 
            -
            I, [2017-01-26T14:21:44.569710 #193980]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40412 | 
            -
             | 
| 40413 | 
            -
            I, [2017-01-26T14:21:45.086761 #193980]  INFO -- : connecting to 9001
         | 
| 40414 | 
            -
            I, [2017-01-26T14:21:46.308884 #193980]  INFO -- : server socket closed (end of file)
         | 
| 40415 | 
            -
            I, [2017-01-26T14:21:46.312884 #193980]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40416 | 
            -
             | 
| 40417 | 
            -
            I, [2017-01-26T14:21:46.727926 #193980]  INFO -- : connecting to 9001
         | 
| 40418 | 
            -
            I, [2017-01-26T14:21:47.949048 #193980]  INFO -- : server socket closed (end of file)
         | 
| 40419 | 
            -
            I, [2017-01-26T14:21:47.952048 #193980]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40420 | 
            -
             | 
| 40421 | 
            -
            I, [2017-01-26T14:21:48.467099 #193980]  INFO -- : connecting to 9001
         | 
| 40422 | 
            -
            I, [2017-01-26T14:21:50.929346 #193980]  INFO -- : server socket closed (end of file)
         | 
| 40423 | 
            -
            I, [2017-01-26T14:21:51.033356 #193980]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40424 | 
            -
             | 
| 40425 | 
            -
            I, [2017-01-26T14:21:51.548408 #193980]  INFO -- : connecting to 9001
         | 
| 40426 | 
            -
            I, [2017-01-26T14:21:52.770530 #193980]  INFO -- : server socket closed (end of file)
         | 
| 40427 | 
            -
            I, [2017-01-26T14:21:52.774530 #193980]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40428 | 
            -
             | 
| 40429 | 
            -
            I, [2017-01-26T14:21:53.189572 #193980]  INFO -- : connecting to 9001
         | 
| 40430 | 
            -
            I, [2017-01-26T14:21:54.409694 #193980]  INFO -- : server socket closed (end of file)
         | 
| 40431 | 
            -
            I, [2017-01-26T14:21:54.514704 #193980]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40432 | 
            -
             | 
| 40433 | 
            -
            I, [2017-01-26T14:21:55.030756 #193980]  INFO -- : connecting to 9001
         | 
| 40434 | 
            -
            I, [2017-01-26T14:21:56.251878 #193980]  INFO -- : server socket closed (end of file)
         | 
| 40435 | 
            -
            I, [2017-01-26T14:21:56.255878 #193980]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40436 | 
            -
             | 
| 40437 | 
            -
            I, [2017-01-26T14:21:56.670920 #193980]  INFO -- : connecting to 9001
         | 
| 40438 | 
            -
            I, [2017-01-26T14:21:57.894042 #193980]  INFO -- : server socket closed (end of file)
         | 
| 40439 | 
            -
            I, [2017-01-26T14:21:57.897042 #193980]  INFO -- : ruby -e "this will crash"
         | 
| 40440 | 
            -
             | 
| 40441 | 
            -
            W, [2017-01-26T14:21:58.914144 #193980]  WARN -- : could not connect socket (connection timeout)
         | 
| 40442 | 
            -
            I, [2017-01-26T14:21:58.914144 #193980]  INFO -- : ruby -e "this will crash"
         | 
| 40443 | 
            -
             | 
| 40444 | 
            -
            W, [2017-01-26T14:21:59.930246 #193980]  WARN -- : could not connect socket (connection timeout)
         | 
| 40445 | 
            -
            I, [2017-01-26T14:22:00.032256 #193980]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40446 | 
            -
             | 
| 40447 | 
            -
            I, [2017-01-26T14:22:00.547307 #193980]  INFO -- : connecting to 9001
         | 
| 40448 | 
            -
            I, [2017-01-26T14:22:02.074460 #193980]  INFO -- : server socket closed (end of file)
         | 
| 40449 | 
            -
            I, [2017-01-26T14:22:02.176470 #193980]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40450 | 
            -
             | 
| 40451 | 
            -
            I, [2017-01-26T14:22:02.595512 #193980]  INFO -- : connecting to 9001
         | 
| 40452 | 
            -
            I, [2017-01-26T14:22:04.023655 #193980]  INFO -- : server socket closed (end of file)
         | 
| 40453 | 
            -
            I, [2017-01-26T14:22:04.125665 #193980]  INFO -- : invalid_command_will_fail
         | 
| 40454 | 
            -
             | 
| 40455 | 
            -
            W, [2017-01-26T14:22:05.142767 #193980]  WARN -- : could not connect socket (connection timeout)
         | 
| 40456 | 
            -
            I, [2017-01-26T14:22:05.142767 #193980]  INFO -- : invalid_command_will_fail
         | 
| 40457 | 
            -
             | 
| 40458 | 
            -
            W, [2017-01-26T14:22:06.158868 #193980]  WARN -- : could not connect socket (connection timeout)
         | 
| 40459 | 
            -
            I, [2017-01-26T14:22:06.260879 #193980]  INFO -- : ruby -E utf-8 -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.invenc" 2>&1
         | 
| 40460 | 
            -
             | 
| 40461 | 
            -
            I, [2017-01-26T14:22:06.676920 #193980]  INFO -- : connecting to 9001
         | 
| 40462 | 
            -
            I, [2017-01-26T14:22:07.997052 #193980]  INFO -- : server socket closed (end of file)
         | 
| 40463 | 
            -
            I, [2017-01-26T14:22:08.000053 #193980]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect4" 2>&1
         | 
| 40464 | 
            -
             | 
| 40465 | 
            -
            I, [2017-01-26T14:22:08.516104 #193980]  INFO -- : connecting to 9001
         | 
| 40466 | 
            -
            I, [2017-01-26T14:22:09.737226 #193980]  INFO -- : server socket closed (end of file)
         | 
| 40467 | 
            -
            I, [2017-01-26T14:22:09.741227 #193980]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40468 | 
            -
             | 
| 40469 | 
            -
            I, [2017-01-26T14:22:10.157268 #193980]  INFO -- : connecting to 9001
         | 
| 40470 | 
            -
            I, [2017-01-26T14:22:12.107463 #193980]  INFO -- : server socket closed (end of file)
         | 
| 40471 | 
            -
            I, [2017-01-26T14:22:12.216474 #193980]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40472 | 
            -
             | 
| 40473 | 
            -
            I, [2017-01-26T14:22:12.739526 #193980]  INFO -- : connecting to 9001
         | 
| 40474 | 
            -
            I, [2017-01-26T14:22:14.269679 #193980]  INFO -- : server socket closed (end of file)
         | 
| 40475 | 
            -
            I, [2017-01-26T14:22:14.274680 #193980]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40476 | 
            -
             | 
| 40477 | 
            -
            I, [2017-01-26T14:22:14.790732 #193980]  INFO -- : connecting to 9001
         | 
| 40478 | 
            -
            I, [2017-01-26T14:22:16.011854 #193980]  INFO -- : server socket closed (end of file)
         | 
| 40479 | 
            -
            I, [2017-01-26T14:22:16.014854 #193980]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40480 | 
            -
             | 
| 40481 | 
            -
            I, [2017-01-26T14:22:16.529905 #193980]  INFO -- : connecting to 9001
         | 
| 40482 | 
            -
            I, [2017-01-26T14:22:17.649017 #193980]  INFO -- : server socket closed (end of file)
         | 
| 40483 | 
            -
            I, [2017-01-26T14:22:17.754028 #193980]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect3" 2>&1
         | 
| 40484 | 
            -
             | 
| 40485 | 
            -
            I, [2017-01-26T14:22:18.269079 #193980]  INFO -- : connecting to 9001
         | 
| 40486 | 
            -
            I, [2017-01-26T14:22:23.130565 #193980]  INFO -- : server socket closed (end of file)
         | 
| 40487 | 
            -
            I, [2017-01-26T14:22:23.136566 #193980]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40488 | 
            -
             | 
| 40489 | 
            -
            I, [2017-01-26T14:22:23.652618 #193980]  INFO -- : connecting to 9001
         | 
| 40490 | 
            -
            I, [2017-01-26T14:22:26.452898 #193980]  INFO -- : server socket closed (end of file)
         | 
| 40491 | 
            -
            I, [2017-01-26T14:22:26.459898 #193980]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40492 | 
            -
             | 
| 40493 | 
            -
            I, [2017-01-26T14:22:26.975950 #193980]  INFO -- : connecting to 9001
         | 
| 40494 | 
            -
            I, [2017-01-26T14:22:28.513104 #193980]  INFO -- : server socket closed (end of file)
         | 
| 40495 | 
            -
            I, [2017-01-26T14:22:28.516104 #193980]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40496 | 
            -
             | 
| 40497 | 
            -
            I, [2017-01-26T14:22:29.032156 #193980]  INFO -- : connecting to 9001
         | 
| 40498 | 
            -
            I, [2017-01-26T14:22:30.563309 #193980]  INFO -- : server socket closed (end of file)
         | 
| 40499 | 
            -
            I, [2017-01-26T14:22:30.566309 #193980]  INFO -- : ruby -I../../../../rgen/lib -I ../../../lib ../ecore_editor.rb "*.ect" 2>&1
         | 
| 40500 | 
            -
             | 
| 40501 | 
            -
            I, [2017-01-26T14:22:31.081360 #193980]  INFO -- : connecting to 9001
         | 
| 40502 | 
            -
            I, [2017-01-26T14:22:32.298482 #193980]  INFO -- : server socket closed (end of file)
         |