Skip to content

Cory Foy

Organizational agility through intersecting business and technology

Menu
  • FASTER Fridays
  • Mapping Mondays
  • Player Embed
  • Search Videos
  • User Dashboard
  • User Videos
  • Video Category
  • Video Form
  • Video Tag
Menu

Small quirk in RubyFit

Posted on January 15, 2008 by Cory Foy

If you are working with FitNesse and Ruby, you’ve no doubt run into RubyFit. Installable by gem, it’s a great way to get up and running with Ruby in FitNesse.

Last week on the main FitNesse list, we found a small quirk. A poster was trying to get running with it, but was only seeing the error message when running their tests. Clicking on the Error logs, he only saw a listing of warnings – mainly around @verbose not being initialized in fit_server.rb.

I spun up a quick instance and was able to reproduce the issue. Upon digging into the fit_server.rb code, I saw the following line for initializing @verbose:

if arg_count == 4 and arg_list.shift == '-v'
   @verbose = true

In other words, when you specify your COMMAND_PATTERN, if -v isn’t the last thing in the pattern, you won’t turn on verbose mode. So it needs to look something like:

!define COMMAND_PATTERN {ruby -I %p -I
/var/lib/gems/1.8/gems/fit-1.1/lib/
/var/lib/gems/1.8/gems/fit-1.1/bin/FitServer.rb -v}

I’ll be filing a bug hopefully this week to change fit_server.rb.

Update (1/15/08): Bug Filed

1 thought on “Small quirk in RubyFit”

  1. gpiancastelli says:
    December 28, 2008 at 2:19 am

    I think that the check on the order of parameters is done to ensure uniform behaviour amongst FitServer implementations that can be called from the command line. If you look at:

    http://fitnesse.org/FitNesse.FitServerProtocol

    you will find something like:

    Command Line Arguments:
    Java usage: java fit.FitServer [-v] host port socketTicket

    So, when activating the server from c.l., the verbose option must always be in that specific position. I believe that other FitServer implementations are bound to respect that very same order, and w.r.t. Ruby some tests in test/fit_server_test.rb seem to confirm that (see test_args, test_args_with_verbose, test_bad_args). The check on arg_count should be another hint.

    I don’t know what’s the relationship between command line usage and COMMAND_PATTERN usage, but I don’t think it would be feasible to break c.l. usage uniformity to gain… well, indeed, to gain what, exactly?

    I’m still leaving the bug report open, though, with a Postponed resolution
    and a lower priority.

Comments are closed.

© 2025 Cory Foy | Powered by Superbs Personal Blog theme