Details

    • Type: Bug Bug
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Won't Fix
    • Affects Version/s: JRuby 1.1.6
    • Fix Version/s: JRuby 1.2
    • Component/s: None
    • Labels:
      None
    • Environment:
      Ubuntu 8.10 running on a 64 bit Intel. I am using OpenJDK 1.6.0
    • Number of attachments :
      0

      Description

      When using ZenTest's autotest it throughs this exceptions
      /usr/local/share/jruby/lib/ruby/site_ruby/1.8/builtin/javasupport/java.rb:56:in `get_proxy_or_package_under_package': invalid package module (ArgumentError)
      from /usr/local/share/jruby/lib/ruby/site_ruby/1.8/builtin/javasupport/java.rb:56:in `method_missing'

      The ZenTest code is this one. It simply gets the name of all the modules
      ObjectSpace.each_object(Module)

      { |m| m.name }

      The line of JRuby that causes the problems is this one
      JavaUtilities.get_proxy_or_package_under_package self, sym
      Here are the parameters that are passed in.
      sym: name
      sym class: Symbol
      self: JavaPackageModuleTemplate
      self class: Module

        Activity

        Hide
        Thomas E Enebo added a comment -

        I am won't fixing this. The problem is zentest is assuming all modules must have a name method. This will not be true for any blankslate modules or our internal Java package modules. We need test to respond because something like:

        import org.jruby.node.name.FooTest
        

        Would not be possible...

        Bill showed the proper change for zentest in an email thread:

        ObjectSpace.each_object(Module) { |m| $stdlib[m.name] = true if m.respond_to?:name }
        
        Show
        Thomas E Enebo added a comment - I am won't fixing this. The problem is zentest is assuming all modules must have a name method. This will not be true for any blankslate modules or our internal Java package modules. We need test to respond because something like: import org.jruby.node.name.FooTest Would not be possible... Bill showed the proper change for zentest in an email thread: ObjectSpace.each_object(Module) { |m| $stdlib[m.name] = true if m.respond_to?:name }

          People

          • Assignee:
            Thomas E Enebo
            Reporter:
            Josh Moore
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: