On 11/8/06, Jim Weirich <[EMAIL PROTECTED]> wrote:

Daniel Berger said:
> Hi,
>
> I noticed that if I create a task using a constructor, the description
> doesn't seem to get picked up:
>
> desc "This is Dan's test"
> Rake:: TestTask.new do |t|
>    # stuff here
> end

Ahh, that is because TestTask, despite its name, is not really a task
object.  Rather it is a suite of tasks that are created under the control
of the TestTask object.  You can think of it as a macro that creates a
bunch of tasks with related dependencies. I've been wanting to rename it
for some time, but haven't found quite the right terminology yet (suite is
one contender).

So the desc lines are defined within the TestTask object and aren't
exposed to the end user unless the author took explicit action to make it
so.

TestSuiteTask sounds better. :)

The reason I ask is that sometimes I want to setup two different test tasks, with each task passing slightly different parameters or running a different test case.  But, each test case would have the same general setup that a TestTask creates, i.e push the "test" directory on the $LOAD_PATH, etc.

I'm trying to think how this would look.  Here's one idea:

TestSuiteTask.new do |ts|
   ts.libs << "test"

   ts.test.new (:test_18) do |tc|
      tc.desc "Tests for the 1.8 branch"
      tc.files = FileList["test/tc_18*"]
   end

   ts.test.new(:test_19) do |tc|
      tc.desc "Tests for the 1.9 branch"
      tc.files = FileList["test/tc_19*"]
   end
end

How does something like that look?

Regards,

Dan
_______________________________________________
Rake-devel mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rake-devel

Reply via email to