rutema 0.6.0 → 0.6.1

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -1,13 +1,20 @@
1
+ == 0.6.1 / 2008-02-28
2
+ * ExtensibleXMLParser made more tolerant (no exceptions when an element cannot be handled)
3
+ * Bug: Typo in the class name used in the exceptions fixed
4
+ * Bugfix: ActiveRecord connection throws an exception that prevented Historian from establishing a new one. Fixed
5
+ * More unit tests
1
6
  == 0.6.0 / 2008-02-27
2
- * Added Rutema::ExtensibleParser - this parser simplifies parser creation immensely. Check the documentation for details
7
+ * Added Rutema::ExtensibleXMLParser - this parser simplifies parser creation immensely. Check the documentation for details
8
+ * "Howto create a parser v0.5.0" officially the fastest deprecation of a document ever. http://patir.rubyforge.org/rutema/parser.html is the new black.
3
9
  * Corrected some english spelling mistakes (hey, we're not native speakers)
4
10
  * Fixed an issue with AR cached connections that interfered with unit tests
11
+
5
12
  == 0.5.0 / 2008-02-26
6
13
  * activerecord reporter is now loaded by default (no need to require it in the configuration file)
7
14
  * bugfix: step names correctly written in the database
8
15
  * The web frontend now uses Ramaze
9
16
  * using patir-0.5.3 because of the chdir bugfixes
10
- * rutema can now test itself! rutemax and rutemah return meaningful exit codes. So there, we do it our own dogfood
17
+ * rutema can now test itself! rutemax and rutemah return meaningful exit codes. So there, we do eat our own dogfood
11
18
  * lots more documentation on usage and how to build a parser
12
19
 
13
20
  == 0.4.3 / 2008-02-25
@@ -45,11 +52,9 @@
45
52
  * Reporter interface changed (Runner stati now passed directly as a name indexed Hash, specifications passed as well)
46
53
  * ActiveRecordReporter with SQLite DB added
47
54
  * rutemah (the Historian) added in tools. The Historian reads from ActiveRecordReporter databases
48
-
49
55
  == 0.2 / 2007-05-21
50
56
  * bin/ files included in gem
51
57
  * rutemax: missing configuration file is now checked before passed to the system
52
-
53
58
  == 0.1 / 2007-05-21
54
59
  * A running system!
55
60
  * Basic XML parser with echo, command and prompt
data/README.txt CHANGED
@@ -1,50 +1,34 @@
1
1
  rutema http://patir.rubyforge.org/rutema
2
2
 
3
3
  == DESCRIPTION:
4
-
5
- Rutema provides the basis for building tools that can manage the execution of tests as well as an example implementation as proof-of-concept for the ideas behind it.
6
-
4
+ rutema is a test execution too with a twist.
5
+ It allows you to combine test tools while it takes care of logging, reporting, archiving of results and formalizes execution of automated and manual tests.
7
6
  It's purpose is to provide a set of classes and a framework that will allow testers to specify and execute tests in heterogeneous testing environments.
8
7
 
9
- Rutema allows you to combine tools while it takes care of logging, reporting, archiving of results and formalizes execution of automated and manual tests.
10
-
11
8
  For more information look at http://patir.rubyforge.org/rutema
12
-
13
9
  == FEATURES/PROBLEMS:
14
-
15
- * rutemax - runs tests
16
- * rutemah - a tool to create reports out of a test result database
17
- * rutemaweb - a web frontend for the test result database
18
-
19
- There is a bug in camping 1.5 (in camping/webrick.rb line 59 res should be resp) that prevents the stylesheet from loading
10
+ * Unified test execution environment for automated and manual tests
11
+ * Extensible reports and notifications in various formats (email, rss, pdf, html etc.)
12
+ * Web frontend and command line report generation tools for browsing the test results database
13
+ * Comprehensive history of test execution
14
+ * A well defined way to create a project specific test specification format
20
15
 
21
16
  == SYNOPSIS:
22
-
23
- Once installed (which is simple) and configured (which can vary from simple to highly complex but is usually more complex than tying your shoelaces) you can do:
24
-
25
- rutemax -c sample.cfg path/to/test.specification - to run a single test
26
-
27
- rutemax -c sample.cfg all - to run all the tests
28
-
29
- rutemax -c sample.cfg attended - to run all attended tests
30
-
31
- rutemax -c sample.cfg unattended - to run all unattended tests
17
+ See http://patir.rubyforge.org/rutema/distro_test.html for an introductory example.
32
18
 
33
19
  == REQUIREMENTS:
34
-
35
20
  * patir (http://patir.rubyforge.org)
36
21
  * mailfactory (http://rubyforge.org/projects/mailfactory/)
37
22
  * activerecord (http://ar.rubyonrails.com/)
38
23
  * sqlite3 (http://rubyforge.org/projects/sqlite-ruby/)
39
- * camping (http://camping.rubyforge.org/)
24
+ * ramaze (http://www.ramaze.net/)
40
25
  * ruport (http://rubyreports.org/)
41
26
  * acts_as_reportable
42
- == INSTALL:
43
27
 
28
+ == INSTALL:
44
29
  * gem install rutema
45
30
 
46
31
  == LICENSE:
47
-
48
32
  (The Ruby License)
49
33
 
50
34
  rutema is copyright (c) 2007 Vassilis Rizopoulos
@@ -97,7 +97,7 @@ module Rutema
97
97
  def connect
98
98
  ActiveRecord::Base.logger = @logger
99
99
  if @configuration.source
100
- if ActiveRecord::Base.connection
100
+ if ActiveRecord::Base.connected?
101
101
  @logger.info("Using cached database connection")
102
102
  else
103
103
  if File.exist?(@configuration.source) || @configuration.source==":memory:"
data/lib/rutema/system.rb CHANGED
@@ -16,7 +16,7 @@ module Rutema
16
16
  module Version
17
17
  MAJOR=0
18
18
  MINOR=6
19
- TINY=0
19
+ TINY=1
20
20
  STRING=[ MAJOR, MINOR, TINY ].join( "." )
21
21
  end
22
22
  #Is raised when an error is found in a specification
@@ -170,10 +170,8 @@ module Rutema
170
170
  begin
171
171
  self.send(:"element_#{step.step_type}",step)
172
172
  rescue
173
- raise ParserException, $!.message
173
+ raise ParserError, $!.message
174
174
  end
175
- else
176
- raise ParserException, "No method element_#{step.step_type} to handle #{step.step_type}"
177
175
  end
178
176
  end
179
177
  end
data/test/test_system.rb CHANGED
@@ -19,6 +19,7 @@ module TestRutema
19
19
  </scenario>
20
20
  </specification>
21
21
  EOT
22
+
22
23
  def test_parse_specification
23
24
  parser=Rutema::BaseXMLParser.new({})
24
25
  specification=parser.parse_specification(SAMPLE_SPEC)
@@ -35,7 +36,40 @@ EOT
35
36
  assert_raise(Rutema::ParserError) { parser.parse_specification("missing.spec") }
36
37
  end
37
38
  end
38
-
39
+
40
+ class TestExtensibleXMlParser<Test::Unit::TestCase
41
+ SAMPLE_SPEC=<<EOT
42
+ <specification name="sample">
43
+ <title>Title</title>
44
+ <description>Description</description>
45
+ <scenario>
46
+ <step/>
47
+ <another_step script="script"/>
48
+ </scenario>
49
+ </specification>
50
+ EOT
51
+ def test_parse_specification
52
+ parser=Rutema::ExtensibleXMLParser.new({})
53
+ assert_nothing_raised() { specification=parser.parse_specification(SAMPLE_SPEC) }
54
+ end
55
+ end
56
+ class TestMinimalXMlParser<Test::Unit::TestCase
57
+ SAMPLE_SPEC=<<EOT
58
+ <specification name="sample">
59
+ <title>Title</title>
60
+ <description>Description</description>
61
+ <scenario>
62
+ <echo/>
63
+ <command cmd="l"/>
64
+ </scenario>
65
+ </specification>
66
+ EOT
67
+ def test_parse_specification
68
+ parser=Rutema::MinimalXMLParser.new({})
69
+ assert_nothing_raised() { @specification=parser.parse_specification(SAMPLE_SPEC) }
70
+ assert_equal(2, @specification.scenario.steps.size)
71
+ end
72
+ end
39
73
  class TestCoordinator<Test::Unit::TestCase
40
74
  def setup
41
75
  @prev_dir=Dir.pwd
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rutema
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-02-27 00:00:00 +01:00
12
+ date: 2008-02-28 00:00:00 +01:00
13
13
  default_executable: rutemax
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -93,7 +93,7 @@ dependencies:
93
93
  - !ruby/object:Gem::Version
94
94
  version: 1.5.0
95
95
  version:
96
- description: "== DESCRIPTION: Rutema provides the basis for building tools that can manage the execution of tests as well as an example implementation as proof-of-concept for the ideas behind it. It's purpose is to provide a set of classes and a framework that will allow testers to specify and execute tests in heterogeneous testing environments. Rutema allows you to combine tools while it takes care of logging, reporting, archiving of results and formalizes execution of automated and manual tests. For more information look at http://patir.rubyforge.org/rutema == FEATURES/PROBLEMS:"
96
+ description: "== DESCRIPTION: rutema is a test execution too with a twist. It allows you to combine test tools while it takes care of logging, reporting, archiving of results and formalizes execution of automated and manual tests. It's purpose is to provide a set of classes and a framework that will allow testers to specify and execute tests in heterogeneous testing environments. For more information look at http://patir.rubyforge.org/rutema == FEATURES/PROBLEMS: * Unified test execution environment for automated and manual tests * Extensible reports and notifications in various formats (email, rss, pdf, html etc.) * Web frontend and command line report generation tools for browsing the test results database * Comprehensive history of test execution * A well defined way to create a project specific test specification format == SYNOPSIS: See http://patir.rubyforge.org/rutema/distro_test.html for an introductory example. == REQUIREMENTS: * patir (http://patir.rubyforge.org) * mailfactory (http://rubyforge.org/projects/mailfactory/) * activerecord (http://ar.rubyonrails.com/) * sqlite3 (http://rubyforge.org/projects/sqlite-ruby/) * ramaze (http://www.ramaze.net/) * ruport (http://rubyreports.org/) * acts_as_reportable == INSTALL: * gem install rutema"
97
97
  email: riva@braveworld.net
98
98
  executables:
99
99
  - rutemax