Rake mspec:... broken in r127

After shifting up to 127 I can’t get run the rubyspecs any more.

I fixed up the .irconfig.rb and default.mspec files correctly (by the
way I
had to explicitly specify the MRI binary file in .irconfig.rb since it
didn’t seem to be able to find it any more).

I have also pulled the latest mspec, rubyspec and ironruby-tags from
jflam’s
GitHub account. (I also tried pulling in Jim D.'s versions too).

Now when I run a rubyspec I get:

D:\dev\ruby\ironruby\r127>rake mspec:core Fixnum

(in D:/dev/ruby/ironruby/r127)

d:\dev\ruby\ironruby\r127\src\microsoft.scripting.core\actions\callsite.cs:2
88:in `UpdateAndExecute’: No such file or directory - No such file or
directory - d:/dev/ruby/ironruby/r127/tests/ironruby/u

til/and (Errno::ENOENT)

    from

d:\dev\ruby\ironruby\r127\src\microsoft.scripting.core\actions\updatedelegat
es.generated.cs:34:in `Update2’

    from

d:\dev\ruby\ironruby\r127\src\microsoft.scripting.core\runtime\ScriptCode.cs
:79:in `Run’

    from

d:\dev\ruby\ironruby\r127\src\microsoft.scripting.core\sourceunit.cs:246:in
`ExecuteProgram’

rake aborted!

Command failed with status (1): [d:/ruby/bin/ruby.exe
d:/dev/ruby/ironruby/…]

D:/dev/ruby/ironruby/r127/rakefile:409:in `invoke_mspec’

(See full trace by running task with --trace)

I guess there is something inside Rakefile or nearby that is breaking
this?
Unfortunately I can’t get onto the SVN repository to search the log
history
to see what changed (Bring on Git, I say).

Any ideas?

Cheers

Pete

Further to this. The problem seems to have been introduced between r121
and
r122.

Pete

From: Peter Bacon D. [mailto:[email protected]]
Sent: Sunday,27 July 27, 2008 15:48
To: ‘[email protected]
Subject: rake mspec:… broken in r127

After shifting up to 127 I can’t get run the rubyspecs any more.

I fixed up the .irconfig.rb and default.mspec files correctly (by the
way I
had to explicitly specify the MRI binary file in .irconfig.rb since it
didn’t seem to be able to find it any more).

I have also pulled the latest mspec, rubyspec and ironruby-tags from
jflam’s
GitHub account. (I also tried pulling in Jim D.'s versions too).

Now when I run a rubyspec I get:

D:\dev\ruby\ironruby\r127>rake mspec:core Fixnum

(in D:/dev/ruby/ironruby/r127)

d:\dev\ruby\ironruby\r127\src\microsoft.scripting.core\actions\callsite.cs:2
88:in `UpdateAndExecute’: No such file or directory - No such file or
directory - d:/dev/ruby/ironruby/r127/tests/ironruby/u

til/and (Errno::ENOENT)

    from

d:\dev\ruby\ironruby\r127\src\microsoft.scripting.core\actions\updatedelegat
es.generated.cs:34:in `Update2’

    from

d:\dev\ruby\ironruby\r127\src\microsoft.scripting.core\runtime\ScriptCode.cs
:79:in `Run’

    from

d:\dev\ruby\ironruby\r127\src\microsoft.scripting.core\sourceunit.cs:246:in
`ExecuteProgram’

rake aborted!

Command failed with status (1): [d:/ruby/bin/ruby.exe
d:/dev/ruby/ironruby/…]

D:/dev/ruby/ironruby/r127/rakefile:409:in `invoke_mspec’

(See full trace by running task with --trace)

I guess there is something inside Rakefile or nearby that is breaking
this?
Unfortunately I can’t get onto the SVN repository to search the log
history
to see what changed (Bring on Git, I say).

Any ideas?

Cheers

Pete

Thanks for the bug report. Let me investigate - likely will be tomorrow
since I am catching up on family stuff after 2 weeks on the road.

Thanks,
-John

From: [email protected]
[mailto:[email protected]] On Behalf Of Peter Bacon
Darwin
Sent: Sunday, July 27, 2008 10:58 AM
To: [email protected]
Subject: Re: [Ironruby-core] rake mspec:… broken in r127

Further to this. The problem seems to have been introduced between r121
and r122.
Pete

From: Peter Bacon D. [mailto:[email protected]]
Sent: Sunday,27 July 27, 2008 15:48
To: ‘[email protected]
Subject: rake mspec:… broken in r127

After shifting up to 127 I can’t get run the rubyspecs any more.
I fixed up the .irconfig.rb and default.mspec files correctly (by the
way I had to explicitly specify the MRI binary file in .irconfig.rb
since it didn’t seem to be able to find it any more).
I have also pulled the latest mspec, rubyspec and ironruby-tags from
jflam’s GitHub account. (I also tried pulling in Jim D.'s versions
too).

Now when I run a rubyspec I get:

D:\dev\ruby\ironruby\r127>rake mspec:core Fixnum
(in D:/dev/ruby/ironruby/r127)
d:\dev\ruby\ironruby\r127\src\microsoft.scripting.core\actions\callsite.cs:288:in
UpdateAndExecute': No such file or directory - No such file or directory - d:/dev/ruby/ironruby/r127/tests/ironruby/u til/and (Errno::ENOENT) from d:\dev\ruby\ironruby\r127\src\microsoft.scripting.core\actions\updatedelegates.generated.cs:34:in Update2’
from
d:\dev\ruby\ironruby\r127\src\microsoft.scripting.core\runtime\ScriptCode.cs:79:in
Run' from d:\dev\ruby\ironruby\r127\src\microsoft.scripting.core\sourceunit.cs:246:in ExecuteProgram’
rake aborted!
Command failed with status (1): [d:/ruby/bin/ruby.exe
d:/dev/ruby/ironruby/…]
D:/dev/ruby/ironruby/r127/rakefile:409:in `invoke_mspec’
(See full trace by running task with --trace)

I guess there is something inside Rakefile or nearby that is breaking
this? Unfortunately I can’t get onto the SVN repository to search the
log history to see what changed (Bring on Git, I say).

Any ideas?
Cheers
Pete

If you look at how UserEnvironment sets up the MRI constant (if it’s
missing) you’ll see that it should point to the binary. We should update
the default .irconfig.rb, and change the comment instead.

JD


From: [email protected]
[[email protected]] On Behalf Of Peter Bacon D.
[[email protected]]
Sent: Sunday, July 27, 2008 10:59 PM
To: [email protected]
Subject: Re: [Ironruby-core] rake mspec:… broken in r127

I think I have solved the problem. See the attached patch. There are
two issues in the Rakefile:

  1.  UserEnvironment::MRI just holds the path two the base of MRI not 
    

the path to the binary. I have added a new constant MRI_BINARY and
modified the places where this is used.

  1.  The –B option on mspec takes a path to the config file.  On my 
    

machine this is in “C:\Documents and Settings\pete\default.mspec”.
Since this has spaces in it you have to put quotes round the path. I
have added this but I am not sure what effect this would have on Unix
based systems and also whether it ought to be done for all the path
parameters.
Cheers,
Pete

From: [email protected]
[mailto:[email protected]] On Behalf Of John L.
(IRONRUBY)
Sent: Sunday,27 July 27, 2008 19:36
To: [email protected]
Subject: Re: [Ironruby-core] rake mspec:… broken in r127

Thanks for the bug report. Let me investigate – likely will be tomorrow
since I am catching up on family stuff after 2 weeks on the road.

Thanks,
-John

From: [email protected]
[mailto:[email protected]] On Behalf Of Peter Bacon
Darwin
Sent: Sunday, July 27, 2008 10:58 AM
To: [email protected]
Subject: Re: [Ironruby-core] rake mspec:… broken in r127

Further to this. The problem seems to have been introduced between r121
and r122.
Pete

From: Peter Bacon D. [mailto:[email protected]]
Sent: Sunday,27 July 27, 2008 15:48
To: ‘[email protected]
Subject: rake mspec:… broken in r127

After shifting up to 127 I can’t get run the rubyspecs any more.
I fixed up the .irconfig.rb and default.mspec files correctly (by the
way I had to explicitly specify the MRI binary file in .irconfig.rb
since it didn’t seem to be able to find it any more).
I have also pulled the latest mspec, rubyspec and ironruby-tags from
jflam’s GitHub account. (I also tried pulling in Jim D.’s versions
too).

Now when I run a rubyspec I get:

D:\dev\ruby\ironruby\r127>rake mspec:core Fixnum
(in D:/dev/ruby/ironruby/r127)
d:\dev\ruby\ironruby\r127\src\microsoft.scripting.core\actions\callsite.cs:288:in
UpdateAndExecute': No such file or directory - No such file or directory - d:/dev/ruby/ironruby/r127/tests/ironruby/u til/and (Errno::ENOENT) from d:\dev\ruby\ironruby\r127\src\microsoft.scripting.core\actions\updatedelegates.generated.cs:34:in Update2’
from
d:\dev\ruby\ironruby\r127\src\microsoft.scripting.core\runtime\ScriptCode.cs:79:in
Run' from d:\dev\ruby\ironruby\r127\src\microsoft.scripting.core\sourceunit.cs:246:in ExecuteProgram’
rake aborted!
Command failed with status (1): [d:/ruby/bin/ruby.exe
d:/dev/ruby/ironruby/…]
D:/dev/ruby/ironruby/r127/rakefile:409:in `invoke_mspec’
(See full trace by running task with --trace)

I guess there is something inside Rakefile or nearby that is breaking
this? Unfortunately I can’t get onto the SVN repository to search the
log history to see what changed (Bring on Git, I say).

Any ideas?
Cheers
Pete

I think I have solved the problem. See the attached patch. There are
two
issues in the Rakefile:

  1.  UserEnvironment::MRI just holds the path two the base of MRI not 
    

the
path to the binary. I have added a new constant MRI_BINARY and modified
the
places where this is used.

  1.  The -B option on mspec takes a path to the config file.  On my
    

machine this is in “C:\Documents and Settings\pete\default.mspec”.
Since
this has spaces in it you have to put quotes round the path. I have
added
this but I am not sure what effect this would have on Unix based systems
and
also whether it ought to be done for all the path parameters.

Cheers,

Pete

From: [email protected]
[mailto:[email protected]] On Behalf Of John L.
(IRONRUBY)
Sent: Sunday,27 July 27, 2008 19:36
To: [email protected]
Subject: Re: [Ironruby-core] rake mspec:… broken in r127

Thanks for the bug report. Let me investigate - likely will be tomorrow
since I am catching up on family stuff after 2 weeks on the road.

Thanks,

-John

From: [email protected]
[mailto:[email protected]] On Behalf Of Peter Bacon
Darwin
Sent: Sunday, July 27, 2008 10:58 AM
To: [email protected]
Subject: Re: [Ironruby-core] rake mspec:… broken in r127

Further to this. The problem seems to have been introduced between r121
and
r122.

Pete

From: Peter Bacon D. [mailto:[email protected]]
Sent: Sunday,27 July 27, 2008 15:48
To: ‘[email protected]
Subject: rake mspec:… broken in r127

After shifting up to 127 I can’t get run the rubyspecs any more.

I fixed up the .irconfig.rb and default.mspec files correctly (by the
way I
had to explicitly specify the MRI binary file in .irconfig.rb since it
didn’t seem to be able to find it any more).

I have also pulled the latest mspec, rubyspec and ironruby-tags from
jflam’s
GitHub account. (I also tried pulling in Jim D.'s versions too).

Now when I run a rubyspec I get:

D:\dev\ruby\ironruby\r127>rake mspec:core Fixnum

(in D:/dev/ruby/ironruby/r127)

d:\dev\ruby\ironruby\r127\src\microsoft.scripting.core\actions\callsite.cs:2
88:in `UpdateAndExecute’: No such file or directory - No such file or
directory - d:/dev/ruby/ironruby/r127/tests/ironruby/u

til/and (Errno::ENOENT)

    from

d:\dev\ruby\ironruby\r127\src\microsoft.scripting.core\actions\updatedelegat
es.generated.cs:34:in `Update2’

    from

d:\dev\ruby\ironruby\r127\src\microsoft.scripting.core\runtime\ScriptCode.cs
:79:in `Run’

    from

d:\dev\ruby\ironruby\r127\src\microsoft.scripting.core\sourceunit.cs:246:in
`ExecuteProgram’

rake aborted!

Command failed with status (1): [d:/ruby/bin/ruby.exe
d:/dev/ruby/ironruby/…]

D:/dev/ruby/ironruby/r127/rakefile:409:in `invoke_mspec’

(See full trace by running task with --trace)

I guess there is something inside Rakefile or nearby that is breaking
this?
Unfortunately I can’t get onto the SVN repository to search the log
history
to see what changed (Bring on Git, I say).

Any ideas?

Cheers

Pete

Also my runfirst.cmd looks like this:

sn -Vr *,31bf3856ad364e35

copy default.irconfig.rb “%USERPROFILE%.irconfig.rb”

copy default.mspec.rb “%USERPROFILE%\dev\default.mspec”

Personally it seems that it would be better for default.mspec to be
placed
directly under USERPROFILE. E.g.

sn -Vr *,31bf3856ad364e35

copy default.irconfig.rb “%USERPROFILE%.irconfig.rb”

copy default.mspec.rb “%USERPROFILE%\default.mspec”

Especially since I don’t keep my other stuff inside %USERPROFILE%\dev.

Pete

From: [email protected]
[mailto:[email protected]] On Behalf Of John L.
(IRONRUBY)
Sent: Sunday,27 July 27, 2008 19:36
To: [email protected]
Subject: Re: [Ironruby-core] rake mspec:… broken in r127

Thanks for the bug report. Let me investigate - likely will be tomorrow
since I am catching up on family stuff after 2 weeks on the road.

Thanks,

-John

From: [email protected]
[mailto:[email protected]] On Behalf Of Peter Bacon
Darwin
Sent: Sunday, July 27, 2008 10:58 AM
To: [email protected]
Subject: Re: [Ironruby-core] rake mspec:… broken in r127

Further to this. The problem seems to have been introduced between r121
and
r122.

Pete

From: Peter Bacon D. [mailto:[email protected]]
Sent: Sunday,27 July 27, 2008 15:48
To: ‘[email protected]
Subject: rake mspec:… broken in r127

After shifting up to 127 I can’t get run the rubyspecs any more.

I fixed up the .irconfig.rb and default.mspec files correctly (by the
way I
had to explicitly specify the MRI binary file in .irconfig.rb since it
didn’t seem to be able to find it any more).

I have also pulled the latest mspec, rubyspec and ironruby-tags from
jflam’s
GitHub account. (I also tried pulling in Jim D.'s versions too).

Now when I run a rubyspec I get:

D:\dev\ruby\ironruby\r127>rake mspec:core Fixnum

(in D:/dev/ruby/ironruby/r127)

d:\dev\ruby\ironruby\r127\src\microsoft.scripting.core\actions\callsite.cs:2
88:in `UpdateAndExecute’: No such file or directory - No such file or
directory - d:/dev/ruby/ironruby/r127/tests/ironruby/u

til/and (Errno::ENOENT)

    from

d:\dev\ruby\ironruby\r127\src\microsoft.scripting.core\actions\updatedelegat
es.generated.cs:34:in `Update2’

    from

d:\dev\ruby\ironruby\r127\src\microsoft.scripting.core\runtime\ScriptCode.cs
:79:in `Run’

    from

d:\dev\ruby\ironruby\r127\src\microsoft.scripting.core\sourceunit.cs:246:in
`ExecuteProgram’

rake aborted!

Command failed with status (1): [d:/ruby/bin/ruby.exe
d:/dev/ruby/ironruby/…]

D:/dev/ruby/ironruby/r127/rakefile:409:in `invoke_mspec’

(See full trace by running task with --trace)

I guess there is something inside Rakefile or nearby that is breaking
this?
Unfortunately I can’t get onto the SVN repository to search the log
history
to see what changed (Bring on Git, I say).

Any ideas?

Cheers

Pete

I don’t think it does (r127):

unless defined?(UserEnvironment::MRI)
  ruby_exe_paths = UserEnvironment.find_executable 'ruby.exe'
  if ruby_exe_paths.length == 1
    UserEnvironment.const_set(:MRI, 

Pathname.new(ruby_exe_paths.first +
‘…\’))
else
raise ArgumentError.new(“Found more than one version of ruby.exe
on
your path #{ruby_exe_paths.join(’, ')}”)
end
end

def self.find_executable(executable)
executable.downcase!
result = []
search_path = ENV[‘PATH’].split(’;’)
search_path.each do |dir|
path = dir.gsub ‘\’, ‘/’
Dir[path + ‘/*.exe’].each do |file|
file_path = Pathname.new(file)
result << file_path.dirname if file_path.basename.downcase ==
executable
end
end
result
end

Looks like I’ve been using it wrong. Sorry about that.

JD


From: [email protected]
[[email protected]] On Behalf Of Peter Bacon D.
[[email protected]]
Sent: Monday, July 28, 2008 9:48 AM
To: [email protected]
Subject: Re: [Ironruby-core] rake mspec:… broken in r127

I don’t think it does (r127):

unless defined?(UserEnvironment::MRI)
  ruby_exe_paths = UserEnvironment.find_executable 'ruby.exe'
  if ruby_exe_paths.length == 1
    UserEnvironment.const_set(:MRI, 

Pathname.new(ruby_exe_paths.first +
‘…\’))
else
raise ArgumentError.new(“Found more than one version of ruby.exe
on
your path #{ruby_exe_paths.join(’, ')}”)
end
end

def self.find_executable(executable)
executable.downcase!
result = []
search_path = ENV[‘PATH’].split(’;’)
search_path.each do |dir|
path = dir.gsub ‘\’, ‘/’
Dir[path + ‘/*.exe’].each do |file|
file_path = Pathname.new(file)
result << file_path.dirname if file_path.basename.downcase ==
executable
end
end
result
end

Oops. Yes you are absolutely correct.
Also, by the way. I noticed that mspec has gone to 1.4.1 (and latest
RubySpec requires this) but the versions I can get working are the forks
on
your github account that are at 1.1.1 still. Moreover I noticed that
you
guys have set up a new github account called ironruby. Is this the one
we
should be aiming to work from in the future? What’s the plan.
Thanks,
Pete

Pete - Applying your patch now. However, in your patch I’m assuming that
the part where you have a reference to RUBY_BINARY should be MRI_BINARY?

Also fixing quotes around the path issue.

Thanks,
-John

The ironruby account will the authoritative account in the future. It is
up to date at 1.4, and I had it working before our release on Thursday.

JD


From: [email protected]
[[email protected]] On Behalf Of Peter Bacon D.
[[email protected]]
Sent: Tuesday, July 29, 2008 10:36 AM
To: [email protected]
Subject: Re: [Ironruby-core] rake mspec:… broken in r127

Oops. Yes you are absolutely correct.
Also, by the way. I noticed that mspec has gone to 1.4.1 (and latest
RubySpec requires this) but the versions I can get working are the forks
on
your github account that are at 1.1.1 still. Moreover I noticed that
you
guys have set up a new github account called ironruby. Is this the one
we
should be aiming to work from in the future? What’s the plan.
Thanks,
Pete