Project

General

Profile

Actions

Bug #15810

closed

Windows spec failure - Process.ppid returns the process id of the parent of this process - ??

Added by MSP-Greg (Greg L) over 5 years ago. Updated over 5 years ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-core:92473]

Description

Since being committed at 79671ec on 28-Apr, this spec has consistently failed:

Process.ppid returns the process id of the parent of this process FAILED
Expected "11424\n"
 to equal "13044\n"

C:/projects/ruby/spec/ruby/core/process/ppid_spec.rb:5:in `block (2 levels) in <top (required)>'
C:/projects/ruby/spec/ruby/core/process/ppid_spec.rb:3:in `<top (required)>'

But, testing it locally, both 'serial' & parallel, it passes. The test also passes at ruby/spec, and it passed with ruby-loco (which doesn't use make)...

As to testing locally, if anyone wants to verify (on Windows), from the spec/ruby folder:

../mspec/bin/mspec -rdevkit  -j -T "--disable=gems" core

Related issues 1 (0 open1 closed)

Related to Ruby master - Bug #15812: Run specs from install folder?ClosedEregon (Benoit Daloze)Actions

Updated by usa (Usaku NAKAMURA) over 5 years ago

  • Status changed from Open to Closed

in test-spec target of make, RUBY_EXE constant in mspec is RUNRUBY.
it means that the invoked ruby process is the grandchild of the invokee, not the child.
so, this spec is never passed on Windows via make test-spec.

Updated by MSP-Greg (Greg L) over 5 years ago

@usa (Usaku NAKAMURA)

I revised appveyor.yml to run specs from the install folder, and submitted a PR. I think running at least one test suite from it is a good idea, as the purpose is to create an install.

So, I reverted the commit that bypassed the failing spec. Maybe @Eregon (Benoit Daloze) can create a guard that considers both windows and whether RUNRUBY exists...

Actions #3

Updated by Eregon (Benoit Daloze) over 5 years ago

  • Related to Bug #15812: Run specs from install folder? added

Updated by Eregon (Benoit Daloze) over 5 years ago

Would it be possible to use execve() in RUNRUBY, such that RUNRUBY and the actual ruby process have the same PID, or is that not available on Windows?

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0