Toggle quote (236 lines)
> On 2019-01-30 13:56, Ricardo Wurmus wrote:
>>
>> Hi swedebugia,
>>
>>> On 2019-01-27 12:49, Christopher Baines wrote:
>>>> These packages are mutually dependant, so I've put them in one commit.
>>>>
>>>> * gnu/packages/ruby.scm (ruby-aruba, ruby-cucumber): New variables.
>> […]
>>>> +(define-public ruby-aruba
>>>> + (package
>>>> + (name "ruby-aruba")
>>>> + (version "0.14.7")
>>>> + (source
>>>> + (origin
>>>> + (method url-fetch)
>>>> + (uri (rubygems-uri "aruba" version))
>>>> + (sha256
>>>> + (base32
>>>> + "0x27352n15dsyf5ak246znfawbrm502q15r4msjw3cis17jlcy1l"))))
>>>> + (build-system ruby-build-system)
>>>> + (arguments
>>>> + '(;; TODO: There are a few test failures
>>>> + ;; 357 examples, 7 failures
>>>
>>> I investigated this and found:
>>> Failed examples:
>>>
>>> rspec ./spec/aruba/api_spec.rb:389 # Aruba::Api files #touch when
>>> directory when exist and the mtim\
>>> e should be set statically
>>> rspec ./spec/aruba/api_spec.rb:388 # Aruba::Api files #touch when
>>> directory when exist and the mtim\
>>> e should be set statically behaves like an existing directory
>>> rspec ./spec/aruba/api_spec.rb:362 # Aruba::Api files #touch when file
>>> when does not exist and the \
>>> mtime should be set statically
>>> rspec ./spec/aruba/api_spec.rb:361 # Aruba::Api files #touch when file
>>> when does not exist and the \
>>> mtime should be set statically behaves like an existing file
>>> rspec ./spec/aruba/matchers/command_spec.rb:165 # Command Matchers
>>> #to_have_output_on_stderr when h\
>>> ave output hello world on stderr
>>> ave output hello world on stderr
>>> rspec ./spec/aruba/matchers/command_spec.rb:128 # Command Matchers
>>> #to_have_output_on_stdout when h\
>>> ave output hello world on stderr
>>> rspec ./spec/aruba/matchers/command_spec.rb:91 # Command Matchers
>>> #to_have_output when have output \
>>> hello world on stderr
>>
>> What does this mean?
>>
>>> The offending lines are in spec/aruba/api_spec.rb
>>> beginning on line: 321, ending on 393
>>> I tried creating a patch with diff for this file. I don't know if this
>>> is the way others here usually create patches.
>>>
>>> If not please enlighten me! :)
>>
>> We usually use “diff -u” to generate patches in unified diff format
>> (that’s the one with plus and minus prefixes).
>>
>> Your patch only disables the test. I would rather like to know why it
>> fails and then fix the problem at the root. Have you figured out why
>> they fail and how the failure can be prevented?
>>
>
> No but I attached the full error message.
>
> The relevant section is here:
>
> Randomized with seed 46150
> ............................../tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/lib/aruba/processes/basic_process.rb:100:
> warning: instance variable @timed_out not initialized
> /tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/lib/aruba/processes/basic_process.rb:100:
> warning: instance variable @timed_out not initialized
> ./tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/lib/aruba/processes/basic_process.rb:100:
> warning: instance variable @timed_out not initialized
> /tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/lib/aruba/processes/basic_process.rb:100:
> warning: instance variable @timed_out not initialized
> ./tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/lib/aruba/processes/basic_process.rb:100:
> warning: instance variable @timed_out not initialized
> ./tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/lib/aruba/processes/basic_process.rb:100:
> warning: instance variable @timed_out not initialized
> ......................................................................................................................................F.....F.F......................................../tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/lib/aruba/processes/basic_process.rb:100:
> warning: instance variable @timed_out not initialized
> /tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/lib/aruba/processes/basic_process.rb:100:
> warning: instance variable @timed_out not initialized
> ./tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/lib/aruba/processes/basic_process.rb:100:
> warning: instance variable @timed_out not initialized
> /tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/lib/aruba/processes/basic_process.rb:100:
> warning: instance variable @timed_out not initialized
> ................................../tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/lib/aruba/processes/basic_process.rb:100:
> warning: instance variable @timed_out not initialized
> ./tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/lib/aruba/processes/basic_process.rb:100:
> warning: instance variable @timed_out not initialized
> ................../tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/lib/aruba/runtime.rb:84:
> warning: instance variable @fixtures_directory not initialized
> ......../tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/lib/aruba/runtime.rb:84:
> warning: instance variable @fixtures_directory not initialized
> .......FF.....FF...............................................................
>
>
> Failures:
>
> 1) Command Matchers #to_have_output_on_stdout when have output hello
> world on stderr
> Failure/Error: raise LaunchError, "It tried to start #{cmd}. " +
> e.message
>
> NameError:
> undefined local variable or method `cmd' for
> #<Aruba::Processes::SpawnProcess:0x0000555556f0bc10>
> Did you mean? @cmd
> # ./lib/aruba/processes/spawn_process.rb:89:in `rescue in start'
> # ./lib/aruba/processes/spawn_process.rb:83:in `start'
> # ./lib/aruba/command.rb:69:in `start'
> # ./lib/aruba/api/command.rb:213:in `run'
> # ./spec/aruba/matchers/command_spec.rb:126:in `block (4 levels)
> in <top (required)>'
> # ./lib/aruba/rspec.rb:22:in `block (2 levels) in <top (required)>'
> # ------------------
> # --- Caused by: ---
> # ChildProcess::LaunchError:
> # No such file or directory -
> /tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/tmp/aruba/cmd.sh
> # ./lib/aruba/processes/spawn_process.rb:85:in `block in start'
>
> 2) Command Matchers #to_have_output when have output hello world on
> stderr
> Failure/Error: raise LaunchError, "It tried to start #{cmd}. " +
> e.message
>
> NameError:
> undefined local variable or method `cmd' for
> #<Aruba::Processes::SpawnProcess:0x00005555571159e8>
> Did you mean? @cmd
> # ./lib/aruba/processes/spawn_process.rb:89:in `rescue in start'
> # ./lib/aruba/processes/spawn_process.rb:83:in `start'
> # ./lib/aruba/command.rb:69:in `start'
> # ./lib/aruba/api/command.rb:213:in `run'
> # ./spec/aruba/matchers/command_spec.rb:89:in `block (4 levels) in
> <top (required)>'
> # ./lib/aruba/rspec.rb:22:in `block (2 levels) in <top (required)>'
> # ------------------
> # --- Caused by: ---
> # ChildProcess::LaunchError:
> # No such file or directory -
> /tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/tmp/aruba/cmd.sh
> # ./lib/aruba/processes/spawn_process.rb:85:in `block in start'
>
> 3) Command Matchers #to_have_output_on_stderr when have output hello
> world on stderr
> Failure/Error: raise LaunchError, "It tried to start #{cmd}. " +
> e.message
>
> NameError:
> undefined local variable or method `cmd' for
> #<Aruba::Processes::SpawnProcess:0x0000555556efd4a8>
> Did you mean? @cmd
> # ./lib/aruba/processes/spawn_process.rb:89:in `rescue in start'
> # ./lib/aruba/processes/spawn_process.rb:83:in `start'
> # ./lib/aruba/command.rb:69:in `start'
> # ./lib/aruba/api/command.rb:213:in `run'
> # ./spec/aruba/matchers/command_spec.rb:163:in `block (4 levels)
> in <top (required)>'
> # ./lib/aruba/rspec.rb:22:in `block (2 levels) in <top (required)>'
> # ------------------
> # --- Caused by: ---
> # ChildProcess::LaunchError:
> # No such file or directory -
> /tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/tmp/aruba/cmd.sh
> # ./lib/aruba/processes/spawn_process.rb:85:in `block in start'
>
> 4) Aruba::Api files #touch when directory when exist and the mtime
> should be set statically
> Failure/Error: let(:options) { { :mtime => Time.parse('2014-01-01
> 10:00:00') } }
>
> NoMethodError:
> undefined method `parse' for Time:Class
> # ./spec/aruba/api_spec.rb:386:in `block (7 levels) in <top
> (required)>'
> # ./spec/aruba/api_spec.rb:381:in `block (6 levels) in <top
> (required)>'
> # ./lib/aruba/rspec.rb:22:in `block (2 levels) in <top (required)>'
>
> 5) Aruba::Api files #touch when directory when exist and the mtime
> should be set statically behaves like an existing directory
> Failure/Error: let(:options) { { :mtime => Time.parse('2014-01-01
> 10:00:00') } }
>
> NoMethodError:
> undefined method `parse' for Time:Class
> Shared Example Group: "an existing directory" called from
> ./spec/aruba/api_spec.rb:388
> # ./spec/aruba/api_spec.rb:386:in `block (7 levels) in <top
> (required)>'
> # ./spec/aruba/api_spec.rb:381:in `block (6 levels) in <top
> (required)>'
> # ./lib/aruba/rspec.rb:22:in `block (2 levels) in <top (required)>'
>
> 6) Aruba::Api files #touch when file when does not exist and the
> mtime should be set statically
> Failure/Error: let(:options) { { :mtime => Time.parse('2014-01-01
> 10:00:00') } }
>
> NoMethodError:
> undefined method `parse' for Time:Class
> # ./spec/aruba/api_spec.rb:359:in `block (7 levels) in <top
> (required)>'
> # ./spec/aruba/api_spec.rb:333:in `block (5 levels) in <top
> (required)>'
> # ./lib/aruba/rspec.rb:22:in `block (2 levels) in <top (required)>'
>
> 7) Aruba::Api files #touch when file when does not exist and the
> mtime should be set statically behaves like an existing file
> Failure/Error: let(:options) { { :mtime => Time.parse('2014-01-01
> 10:00:00') } }
>
> NoMethodError:
> undefined method `parse' for Time:Class
> Shared Example Group: "an existing file" called from
> ./spec/aruba/api_spec.rb:361
> # ./spec/aruba/api_spec.rb:359:in `block (7 levels) in <top
> (required)>'
> # ./spec/aruba/api_spec.rb:333:in `block (5 levels) in <top
> (required)>'
> # ./lib/aruba/rspec.rb:22:in `block (2 levels) in <top (required)>'
>
>
> I don't know ruby at all so I might not be the best qualified to
> investigate this. :/
>