patir 0.6.0 → 0.6.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,6 @@
1
+ ==0.6.1
2
+ * RubyCommand failure logs are now clearer no more 'RubyCommand failed:' redundancies.
3
+ * RubyCommand: Backtrace added to error output if $DEBUG=true
1
4
  ==0.6.0
2
5
  * RubyCommand now sets success when the block runs to the end. Block returns values re ignored. To indicate failure raise an exception.
3
6
 
@@ -6,7 +6,7 @@ module Patir
6
6
  module Version
7
7
  MAJOR=0
8
8
  MINOR=6
9
- TINY=0
9
+ TINY=1
10
10
  STRING=[ MAJOR, MINOR, TINY ].join( "." )
11
11
  end
12
12
  #Error thrown usually in initialize methods when missing required parameters
@@ -449,17 +449,20 @@ module Patir
449
449
  #
450
450
  #The block receives the instance of RubyCommand so you can set the output and error output.
451
451
  #
452
- #The return value of the block is assigned as the command status.
452
+ #If the block runs to the end the command is considered successful.
453
+ #
454
+ #Raising an exception in the block will set the command status to :error.
455
+ #
456
+ #The exception message will be appended to the error output of the command
453
457
  #
454
458
  #== Examples
455
459
  #An example (using the excellent HighLine lib) of a CLI prompt as a RubyCommand
456
460
  # RubyCommand.new("prompt") do |cmd|
457
461
  # cmd.output=""
458
462
  # cmd.error=""
459
- # if HighLine.agree("#{step.text}?")
460
- # :success
461
- # else
462
- # :error
463
+ # unless HighLine.agree("#{step.text}?")
464
+ # cmd.error="Why not?"
465
+ # raise "You did not agree"
463
466
  # end
464
467
  # end
465
468
  class RubyCommand
@@ -484,8 +487,8 @@ module Patir
484
487
  @status=:success
485
488
  end
486
489
  rescue
487
- error<<"RubyCommand failed:"
488
- error<<"#{$!}"
490
+ error<<"\n#{$!.message}"
491
+ error<<"\n#{$!.backtrace}" if $DEBUG
489
492
  @status=:error
490
493
  ensure
491
494
  @exec_time=Time.now-t1
@@ -198,6 +198,22 @@ class TestCommandSequence<Test::Unit::TestCase
198
198
  end
199
199
  end
200
200
 
201
+ class TestRubyCommad<Test::Unit::TestCase
202
+ include Patir
203
+ def test_normal_ruby
204
+ cmd=RubyCommand.new("test"){sleep 1}
205
+ assert_nothing_raised() { cmd.run}
206
+ assert(cmd.success?, "Not successful.")
207
+ assert_equal(:success, cmd.status)
208
+ end
209
+ def test_error_ruby
210
+ cmd=RubyCommand.new("test"){raise "Error"}
211
+ assert_nothing_raised() { cmd.run}
212
+ assert(!cmd.success?, "Successful?!")
213
+ assert_equal(:error, cmd.status)
214
+ end
215
+ end
216
+
201
217
  class TestCommandSequenceStatus<Test::Unit::TestCase
202
218
  def test_new
203
219
  st=Patir::CommandSequenceStatus.new("sequence")
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: patir
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vassilis Rizopoulos
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-09-25 00:00:00 +02:00
12
+ date: 2008-10-01 00:00:00 +02:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -98,7 +98,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
98
98
  requirements: []
99
99
 
100
100
  rubyforge_project: patir
101
- rubygems_version: 1.2.0
101
+ rubygems_version: 1.3.0
102
102
  signing_key:
103
103
  specification_version: 2
104
104
  summary: patir (Project Automation Tools in Ruby) provides libraries for use in automation tools