Great. I've been working on cleaning up the file paths so that I can run the
specs (and irtests). The problem seems to be just having '\\' hard-coded
everywhere. I'm changing this to File.join("abc","xyz"). I've still got a
few remaining, notably ir.cmd and irtests.rb. Then I'll get on the specs for
Etc. Those really shouldn't be hard to write up as I've typed them over and
over into the REPL the last few days. :)

Cheers,

Ryan

On Sun, Apr 4, 2010 at 10:29 PM, Shri Borde <shri.bo...@microsoft.com>wrote:

>  You should add new/updated specs to
> MERLIN_ROOT/../External.LCA_RESTRICTED/Languages/IronRuby/mspec/rubyspecso 
> that all IronRuby devs will immediately start running the new/updated
> specs (after your changes get pulled into the IronRuby master repo). Jim
> will then periodically push these back to the RubySpec git repo. He also
> does pull periodically from the RubySpec repo into
> MERLIN_ROOT/../External.LCA_RESTRICTED/Languages/IronRuby/mspec/rubyspec.
>
>
>
> *From:* ironruby-core-boun...@rubyforge.org [mailto:
> ironruby-core-boun...@rubyforge.org] *On Behalf Of *Ryan Riley
> *Sent:* Sunday, April 04, 2010 7:33 PM
>
> *To:* ironruby-core@rubyforge.org
> *Subject:* Re: [Ironruby-core] Anyone interested in implementing Etc
> module for Mono?
>
>
>
> Nm... I figured out that dev.sh, despite the command to export to PATH was
> not. I'm working on rubyspecs now. Do I put these in the rubyspec git repo
> or in the IR copy
> (MERLIN_ROOT/../External.LCA_RESTRICTED/Languages/IronRuby/mspec/rubyspec)?
>
>
> Ryan
>
> On Sun, Apr 4, 2010 at 6:32 PM, Ryan Riley <ryan.ri...@panesofglass.org>
> wrote:
>
> Thanks, Shri. The problem is that I cannot run mspec at all. I have added
> it to my path, but I get a message saying thtat the command can't be found,
> even while in the bin folder. (And yes, the files are executable. :) I'll
> keep trying to determine what's wrong, but I would think this should just
> work.
>
>
>
> In other news, I was able to get master built on linux using rake compile.
> I've checked this into my copy of master on github, along with the etc.rb
> updates and Ivan's dev.sh script. I can write the additional test cases, but
> they should also work now on windows. I'm about to pull and try it myself.
>
>
>
> Cheers!
>
>
> Ryan Riley
>
>
>
>  On Sun, Apr 4, 2010 at 10:55 AM, Shri Borde <shri.bo...@microsoft.com>
> wrote:
>
> If you run “mspec ci library\etc”, that runs the real RubySpec specs.
> irtests does run a command like “mspec ci lib” which will run the Etc
> RubySpec specs. http://wiki.github.com/ironruby/ironruby/rubyspec might be
> useful to you about how these scripts work.
>
>
>
> The RubySpecs are supposed to be working on all platforms. The specs use
> checks like “platform_is :windows” or “platform_is_not :windows” to have
> versions for all OSes. I am surprised that the current ones expect nil. You
> can fix them to have versions of the specs that work on Unixes. You can run
> the tests against MRI using “mspec –tr” to ensure that the spec you add is
> correct.
>
>
>
> If you can streamline the development process for Mono, that will be great
> so others have an easier time in the future…
>
>
>
> *From:* ironruby-core-boun...@rubyforge.org [mailto:
> ironruby-core-boun...@rubyforge.org] *On Behalf Of *Ryan Riley
> *Sent:* Sunday, April 04, 2010 9:54 AM
>
>
> *To:* ironruby-core@rubyforge.org
> *Subject:* Re: [Ironruby-core] Anyone interested in implementing Etc
> module for Mono?
>
>
>
> I've posted all the type fixes, but since I can't compile master, I'm
> hesitant to rebase. What should I do? Also, I still haven't gotten to the
> tests. Looks like the current ones all expect nil and assume Windows. Are
> those the real rubyspec specs?
>
> Sent from my iPhone
>
>
> On Apr 3, 2010, at 10:13 PM, Jim Deville <jdevi...@microsoft.com> wrote:
>
>  Also, to get a Int32 out of a UInt32, you should be able to use
> induced_from:
>
>
>
> >>> a = System::UInt32.new(1)
>
> => 1 (UInt32)
>
> >>> Fixnum.induced_from(a)
>
> => 1
>
>
>
> Minor thing, but it will work.
>
>
>
> The fact that etc is a class is my bad. I was just getting enough
> implemented in order to pass some specs and use libraries that expected the
> nil on Windows.
>
>
>
> JD
>
>
>
> *From:* ironruby-core-boun...@rubyforge.org [mailto:
> ironruby-core-boun...@rubyforge.org] *On Behalf Of *Tomas Matousek
> *Sent:* Saturday, April 03, 2010 6:01 PM
> *To:* ironruby-core@rubyforge.org
> *Subject:* Re: [Ironruby-core] Anyone interested in implementing Etc
> module for Mono?
>
>
>
> That is a bug. Make it a module.
>
>
>
> Tomas
>
>
>
> *From:* ironruby-core-boun...@rubyforge.org [mailto:
> ironruby-core-boun...@rubyforge.org] *On Behalf Of *Ryan Riley
> *Sent:* Saturday, April 03, 2010 5:02 PM
> *To:* ironruby-core@rubyforge.org
> *Subject:* Re: [Ironruby-core] Anyone interested in implementing Etc
> module for Mono?
>
>
>
> Quick question: The etc.rb in Libs is a class, but the implementation in
> the Ruby Standard Library appears to be a module. Should I keep the class or
> use the module?
>
>
> Ryan Riley
>
> On Sat, Apr 3, 2010 at 4:43 PM, Tomas Matousek <
> tomas.matou...@microsoft.com> wrote:
>
> Nice work.
>
>
>
> A few suggestions:
>
>
>
> -          You can move the file to C:\M0\Merlin\Main\Languages\Ruby\Libs.
>
> -          Use System::Environment:: System::Environment.OSVersion.Platform
> to detect the OS (see e.g. Win32API.rb in Libs).
>
> -          Rather than check for the platform in every method it might be
> better to define the methods differently on Windows. Something like:
>
>
>
> module Etc
>
>   platform = System::PlatformID
>
>   case System::Environment.OSVersion.Platform
>
>     when platform.Win32S, platform.WinCE, platform.Win32Windows,
> platform.Win32NT:
>
>     def self.endgrent; end
>
>   def self.endpwent; end
>
>   def self.getgrent; end
>
>       …
>
>     else
>
>    load_assembly 'Mono.Posix'
>
>
>
>   def self.endgrent
>
>     Mono::Unix::Native::Syscall.endgrent
>
>   end
>
>
>
>   def self.endpwent
>
>     Mono::Unix::Native::Syscall.endpwent
>
>   end
>
>
>
>
>
>
>
>
>   def self.getgrent
>
>     to_group(Mono::Unix::Native::Syscall.getgrent)
>
>
>
>
>
>   end
>
>
>
>    …
>
>   end
>
> end
>
>
>
> *From:* ironruby-core-boun...@rubyforge.org [mailto:
> ironruby-core-boun...@rubyforge.org] *On Behalf Of *Ryan Riley
> *Sent:* Saturday, April 03, 2010 3:59 PM
>
>
> *To:* ironruby-core@rubyforge.org
> *Subject:* Re: [Ironruby-core] Anyone interested in implementing Etc
> module for Mono?
>
>
>
> I've posted an initial "complete" implementation, though I have only done
> basic testing. I have a couple of TODO's remaining and some cleanup, as well
> as writing actual specs. I still don't have tests running. You can find the
> module here:
> http://github.com/panesofglass/ironruby/blob/linux/Merlin/External.LCA_RESTRICTED/Languages/IronRuby/Etc/IronRuby.Libraries.Etc/etc.rb
>
>
>
> Not the prettiest thing in the world, but I just wanted to get it working.
> I definitely still have work to do.
>
>
>
> Cheers,
>
>
> Ryan Riley
>
> Email: ryan.ri...@panesofglass.org
> LinkedIn: http://www.linkedin.com/in/ryanriley
> Blog: http://wizardsofsmart.net/
> Twitter: @panesofglass
> Website: http://panesofglass.org/
>
> On Sat, Apr 3, 2010 at 2:30 PM, Ryan Riley <ryan.ri...@panesofglass.org>
> wrote:
>
> Sure! 
> Mono::Unix::Native::Passwd<http://www.go-mono.com/docs/index.aspx?link=T:Mono.Unix.Native.Passwd>and
> Mono::Unix::Native::Group<http://www.go-mono.com/docs/index.aspx?link=T:Mono.Unix.Native.Group>that
>  are returned from the
> Mono::Unix::Native::Syscall<http://www.go-mono.com/docs/index.aspx?link=M:Mono.Posix.Syscall.getusername(System.Int32>functions
>  have UInt32, System.String, and System.String[]. System.String is
> no biggie, and I'm finding .to_i on a System.UInt32 is still displayed as
> System.UInt32, so I suppose that's not an issue, either. MRI displays Fixnum
> as the type, and I was trying to get the correct types back from the
> functions. That leaves MRI's Array to Mono's System.String[].
>
>
>
> My current implementation is just a Ruby module wrapping calls to the Mono
> functions and returning the appropriate types. Most of it is working, though
> without being able to run tests easily, I'm testing from the command line. I
> still need to add conditionals to return nil if it's run on Windows. I
> suppose I also need to conditionally load the Mono.Posix.dll if it's on
> Windows, too.
>
>
>
> I'm about to finish the basic implementation and post to 
> github<http://github.com/panesofglass/ironruby/blob/linux/Merlin/External.LCA_RESTRICTED/Languages/IronRuby/Etc/IronRuby.Libraries.Etc/etc.rb>.
>  (I've
> already got what I finished last night up there.) I also asked Shri for a
> pairing session to make sure it's inline with what you're wanting.
>
>
>
> Cheers,
>
>
>
> Ryan Riley
>
> Email: ryan.ri...@panesofglass.org
> LinkedIn: http://www.linkedin.com/in/ryanriley
> Blog: http://wizardsofsmart.net/
> Twitter: @panesofglass
> Website: http://panesofglass.org/
>
> On Sat, Apr 3, 2010 at 11:25 AM, Tomas Matousek <
> tomas.matou...@microsoft.com> wrote:
>
>   Can you give an example of where you need the conversions?
>
>
>
> Tomas
>
>
>
> *From:* ironruby-core-boun...@rubyforge.org [mailto:
> ironruby-core-boun...@rubyforge.org] *On Behalf Of *Jim Deville
> *Sent:* Saturday, April 03, 2010 11:00 AM
>
>
> *To:* ironruby-core@rubyforge.org
>
> *Subject:* Re: [Ironruby-core] Anyone interested in implementing Etc
> module for Mono?
>
>
>
>
> No conversion for Fixnums is needed (Fixnums are ints). Arrays are harder.
> I would take a look at clr_ext in merlin/main/languages/ruby/samples. Inside
> that file is a to_clr_array method
>
> JD
>  ------------------------------
>
> *From: *Ryan Riley <ryan.ri...@panesofglass.org>
> *Sent: *Saturday, April 03, 2010 12:13 AM
> *To: *ironruby-c...@rubyforge.org <ironruby-core@rubyforge.org>
> *Subject: *Re: [Ironruby-core] Anyone interested in implementing Etc
> module for Mono?
>
> Where is documentation on converting between CLR and Ruby types? I can get
> RubyStrings, but what about Fixnum and Array?
>
>
>
> Thanks,
>
>
> Ryan Riley
>
>
>
> _______________________________________________
> Ironruby-core mailing list
> Ironruby-core@rubyforge.org
> http://rubyforge.org/mailman/listinfo/ironruby-core
>
>
>
>
>
>
> _______________________________________________
> Ironruby-core mailing list
> Ironruby-core@rubyforge.org
> http://rubyforge.org/mailman/listinfo/ironruby-core
>
>
>
>  _______________________________________________
> Ironruby-core mailing list
> Ironruby-core@rubyforge.org
> http://rubyforge.org/mailman/listinfo/ironruby-core
>
>
> _______________________________________________
> Ironruby-core mailing list
> Ironruby-core@rubyforge.org
> http://rubyforge.org/mailman/listinfo/ironruby-core
>
>
>
>
>
> _______________________________________________
> Ironruby-core mailing list
> Ironruby-core@rubyforge.org
> http://rubyforge.org/mailman/listinfo/ironruby-core
>
>
_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org
http://rubyforge.org/mailman/listinfo/ironruby-core

Reply via email to