dtf 0.2.1 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +44 -0
- data/.rspec +1 -0
- data/.rvmrc +52 -0
- data/.travis.yml +16 -0
- data/Gemfile +26 -0
- data/History.md +75 -0
- data/LICENSE +19 -10
- data/README.md +67 -45
- data/Rakefile +9 -0
- data/TODO +25 -0
- data/app/models/analysis_case.rb +12 -0
- data/app/models/case_test.rb +10 -0
- data/app/models/user.rb +12 -0
- data/app/models/verification_suite.rb +22 -0
- data/bin/dtf +24 -3
- data/bin/dtf-create_user +11 -0
- data/bin/dtf-create_vs +10 -0
- data/bin/dtf-delete_user +18 -0
- data/bin/dtf-delete_vs +14 -0
- data/bin/dtf-setup +7 -0
- data/db/migrate/20120503050925_create_users.rb +15 -0
- data/db/migrate/20120508000959_create_verification_suites.rb +14 -0
- data/db/migrate/20120616203047_create_analysis_cases.rb +15 -0
- data/db/migrate/20120616203436_create_case_tests.rb +15 -0
- data/db/schema.rb +48 -0
- data/doc/.gitkeep +0 -0
- data/dtf.gemspec +36 -0
- data/examples/db/config.yml +25 -0
- data/lib/config/environment.rb +49 -0
- data/lib/dtf.rb +4 -91
- data/lib/dtf/version.rb +5 -0
- data/lib/tasks/setup.thor +52 -0
- data/spec/acceptance/0001_create_basic_models.feature +9 -0
- data/spec/acceptance/0002_create_basic_associations.feature +11 -0
- data/spec/acceptance/0003_execute_help_switch.feature +7 -0
- data/spec/fabricators/analysis_case_fabricator.rb +7 -0
- data/spec/fabricators/case_test_fabricator.rb +6 -0
- data/spec/fabricators/user_fabricator.rb +8 -0
- data/spec/fabricators/verification_suite_fabricator.rb +6 -0
- data/spec/models/analysis_case_spec.rb +21 -0
- data/spec/models/case_test_spec.rb +20 -0
- data/spec/models/user_spec.rb +21 -0
- data/spec/models/verification_suite_spec.rb +21 -0
- data/spec/spec_helper.rb +18 -0
- data/spec/steps/feature_steps.rb +18 -0
- data/spec/support/custom_matchers/model_steps.rb +46 -0
- data/spec/support/helpers/.gitkeep +0 -0
- metadata +303 -70
- data/lib/dtf/active_patches.rb +0 -21
- data/lib/dtf/plugins.rb +0 -102
- data/lib/plugins/dtf/comment_test_input.rb +0 -40
- data/lib/plugins/dtf/env_match_test.rb +0 -18
- data/lib/plugins/dtf/error_summary_output.rb +0 -93
- data/lib/plugins/dtf/output_match_test.rb +0 -17
- data/lib/plugins/dtf/stats_output.rb +0 -73
- data/lib/plugins/dtf/status_test.rb +0 -17
- data/lib/plugins/dtf/text_output.rb +0 -52
data/lib/dtf/version.rb
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
class DtfSetup < Thor
|
2
|
+
|
3
|
+
desc "install", "installs database schemas and control scripts"
|
4
|
+
method_options :force => :boolean
|
5
|
+
def install(name= "*")
|
6
|
+
puts "installing db schemas and control scripts"
|
7
|
+
|
8
|
+
# The gem is installed elsewhere so the copy path needs to be
|
9
|
+
# relative to the gem, not the user.
|
10
|
+
curr_dir = File.dirname(__FILE__)
|
11
|
+
|
12
|
+
Dir["#{curr_dir}/../../db/migrate/#{name}"].each do |source|
|
13
|
+
|
14
|
+
# Use File.basename to remove the gem's path info so we can
|
15
|
+
# use just the filename to copy relative to the user.
|
16
|
+
destination = "db/migrate/#{File.basename(source)}"
|
17
|
+
|
18
|
+
FileUtils.rm(destination) if options[:force] && File.exist?(destination)
|
19
|
+
if File.exist?(destination)
|
20
|
+
puts "Skipping #{destination} because it already exists"
|
21
|
+
else
|
22
|
+
puts "Generating #{destination}"
|
23
|
+
FileUtils.cp(source, destination)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
desc "config [NAME]", "copy db configuration file(s)"
|
29
|
+
method_options :force => :boolean
|
30
|
+
def config(name = "*")
|
31
|
+
|
32
|
+
# The gem is installed elsewhere so the copy path needs to be
|
33
|
+
# relative to the gem, not the user.
|
34
|
+
curr_dir = File.dirname(__FILE__)
|
35
|
+
|
36
|
+
Dir["#{curr_dir}/../../examples/db/#{name}"].each do |source|
|
37
|
+
|
38
|
+
# Use File.basename to remove the gem's path info so we can
|
39
|
+
# use just the filename to copy relative to the user.
|
40
|
+
destination = "db/#{File.basename(source)}"
|
41
|
+
|
42
|
+
FileUtils.rm(destination) if options[:force] && File.exist?(destination)
|
43
|
+
if File.exist?(destination)
|
44
|
+
puts "Skipping #{destination} because it already exists"
|
45
|
+
else
|
46
|
+
puts "Generating #{destination}"
|
47
|
+
FileUtils.cp(source, destination)
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
end
|
@@ -0,0 +1,9 @@
|
|
1
|
+
Feature: Basic Model(s) Creation
|
2
|
+
Background:
|
3
|
+
Given a user
|
4
|
+
And a verification suite
|
5
|
+
|
6
|
+
Scenario: Fundamental Models instantiate
|
7
|
+
Then I should see user ownership chain via verification suites
|
8
|
+
And I should see an analysis case
|
9
|
+
And I should see a case test
|
@@ -0,0 +1,11 @@
|
|
1
|
+
Feature: Verification of associations
|
2
|
+
Background:
|
3
|
+
Given a user
|
4
|
+
|
5
|
+
Scenario: it should own verification suites
|
6
|
+
When I create a verification suite
|
7
|
+
Then I should see my verification suite
|
8
|
+
|
9
|
+
Scenario: it should own analysis cases
|
10
|
+
When I create a analysis case
|
11
|
+
Then I should see my analysis case
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# -*- coding: UTF-8 -*-
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe "Analysis Case" do
|
6
|
+
|
7
|
+
puts "Analysis Case Benchmark"
|
8
|
+
puts Benchmark.measure { let (:analysis_case) { Fabricate(:analysis_case) } }
|
9
|
+
|
10
|
+
|
11
|
+
let(:analysis_case) { Fabricate(:analysis_case) }
|
12
|
+
|
13
|
+
it "should be created/fabricated" do
|
14
|
+
analysis_case.should be_a(AnalysisCase)
|
15
|
+
end
|
16
|
+
|
17
|
+
it "should be persisted" do
|
18
|
+
analysis_case.save
|
19
|
+
analysis_case.persisted?
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# -*- coding: UTF-8 -*-
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe "Case Test" do
|
6
|
+
|
7
|
+
puts "Case Test Benchmark"
|
8
|
+
puts Benchmark.measure { let (:case_test) { Fabricate(:case_test) } }
|
9
|
+
|
10
|
+
let(:case_test) { Fabricate(:case_test) }
|
11
|
+
|
12
|
+
it "should be created/fabricated" do
|
13
|
+
case_test.should be_a(CaseTest)
|
14
|
+
end
|
15
|
+
|
16
|
+
it "should be persisted" do
|
17
|
+
case_test.save
|
18
|
+
case_test.persisted?
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# -*- coding: UTF-8 -*-
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
require 'benchmark'
|
5
|
+
|
6
|
+
describe "User" do
|
7
|
+
|
8
|
+
puts "User Benchmark"
|
9
|
+
puts Benchmark.measure { let (:user) { Fabricate(:user) } }
|
10
|
+
|
11
|
+
let (:user) { Fabricate(:user) }
|
12
|
+
|
13
|
+
it "should be created/fabricated" do
|
14
|
+
user.should be_a(User)
|
15
|
+
end
|
16
|
+
|
17
|
+
it "should be persisted" do
|
18
|
+
user.save
|
19
|
+
user.persisted?
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# -*- coding: UTF-8 -*-
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
require 'benchmark'
|
5
|
+
|
6
|
+
describe "Verification Suite" do
|
7
|
+
|
8
|
+
puts "Verification Suite Benchmark"
|
9
|
+
puts Benchmark.measure { let (:verification_suite) { Fabricate(:verification_suite) } }
|
10
|
+
|
11
|
+
let(:verification_suite) { Fabricate(:verification_suite) }
|
12
|
+
|
13
|
+
it "should be created/fabricated" do
|
14
|
+
verification_suite.should be_a(VerificationSuite)
|
15
|
+
end
|
16
|
+
|
17
|
+
it "should be persisted" do
|
18
|
+
verification_suite.save
|
19
|
+
verification_suite.persisted?
|
20
|
+
end
|
21
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
# -*- coding: UTF-8 -*-
|
2
|
+
|
3
|
+
require 'dtf'
|
4
|
+
require 'rspec'
|
5
|
+
require 'turnip'
|
6
|
+
require 'fabrication'
|
7
|
+
|
8
|
+
# Require any RSpec support files, helpers, and custom matchers we define
|
9
|
+
Dir[File.join(File.dirname(__FILE__), "support/**/*.rb")].each do |f|
|
10
|
+
require f
|
11
|
+
end
|
12
|
+
|
13
|
+
# Turnip steps load line
|
14
|
+
Dir.glob("spec/steps/**/*steps.rb") do |f|
|
15
|
+
load f, true
|
16
|
+
end
|
17
|
+
|
18
|
+
RSpec.configure { |c| c.include ModelSteps }
|
@@ -0,0 +1,18 @@
|
|
1
|
+
step "I have dtf installed" do
|
2
|
+
if Dtf::VERSION.empty?
|
3
|
+
puts "Dtf gem not loaded"
|
4
|
+
exit 1
|
5
|
+
end
|
6
|
+
end
|
7
|
+
|
8
|
+
# $cmd is any one of the various current dtf cmd management / control structures
|
9
|
+
# TODO: Rewrite to use a single dtf control script, and modular cmd|subcmd exec|help systems
|
10
|
+
step "I type :cmd" do |cmd|
|
11
|
+
# Change this to check programmatically that $cmd implements --help param
|
12
|
+
@cmd_text = %x[bin/#{cmd}]
|
13
|
+
end
|
14
|
+
|
15
|
+
step "I should see help system output" do
|
16
|
+
# Display actual help for specific $cmd space
|
17
|
+
@cmd_text.should include("help")
|
18
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# -*- coding: UTF-8 -*-
|
2
|
+
|
3
|
+
module ModelSteps
|
4
|
+
|
5
|
+
step "a user" do
|
6
|
+
@user = Fabricate(:user)
|
7
|
+
@user.should_not be_nil
|
8
|
+
end
|
9
|
+
|
10
|
+
step "a verification suite" do
|
11
|
+
@vs = Fabricate(:verification_suite)
|
12
|
+
@vs.should_not be_nil
|
13
|
+
end
|
14
|
+
|
15
|
+
step "I should see an analysis case" do
|
16
|
+
@ac = Fabricate(:analysis_case)
|
17
|
+
@ac.should_not be_nil
|
18
|
+
end
|
19
|
+
|
20
|
+
step "I should see a case test" do
|
21
|
+
@ct = Fabricate(:case_test)
|
22
|
+
@ct.should_not be_nil
|
23
|
+
end
|
24
|
+
|
25
|
+
step "I should see user ownership chain via :association" do |association|
|
26
|
+
@user.send(association).build
|
27
|
+
@user.send(association).should_not be_nil
|
28
|
+
end
|
29
|
+
|
30
|
+
step "I create a/an :association" do |association|
|
31
|
+
@user.send(association.pluralize).build
|
32
|
+
end
|
33
|
+
|
34
|
+
step "I should see my :association" do |association|
|
35
|
+
@user.send(association.pluralize).should_not be_empty
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
39
|
+
|
40
|
+
placeholder :association do
|
41
|
+
match /(\w+(?: \w+)*)/ do |assoc_name|
|
42
|
+
assoc_name.gsub(' ', '_')
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
|
File without changes
|
metadata
CHANGED
@@ -1,92 +1,325 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: dtf
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.2.2
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 2
|
9
|
-
- 1
|
10
|
-
version: 0.2.1
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Deryl R. Doucette
|
14
|
-
- Michal Papis
|
15
9
|
autorequire:
|
16
10
|
bindir: bin
|
17
11
|
cert_chain: []
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
12
|
+
date: 2012-08-20 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: thor
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: rake
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
38
|
+
type: :runtime
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: activerecord
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
type: :runtime
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: activemodel
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
type: :runtime
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: activesupport
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ! '>='
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '0'
|
86
|
+
type: :runtime
|
87
|
+
prerelease: false
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: sqlite3
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ! '>='
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '0'
|
102
|
+
type: :runtime
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: json
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
114
|
+
requirements:
|
115
|
+
- - ! '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :runtime
|
23
119
|
prerelease: false
|
24
|
-
|
25
|
-
none: false
|
26
|
-
requirements:
|
27
|
-
- -
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ! '>='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: json_pure
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
130
|
+
requirements:
|
131
|
+
- - ! '>='
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: '0'
|
134
|
+
type: :runtime
|
135
|
+
prerelease: false
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ! '>='
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '0'
|
142
|
+
- !ruby/object:Gem::Dependency
|
143
|
+
name: standalone_migrations
|
144
|
+
requirement: !ruby/object:Gem::Requirement
|
145
|
+
none: false
|
146
|
+
requirements:
|
147
|
+
- - ! '>='
|
148
|
+
- !ruby/object:Gem::Version
|
149
|
+
version: '0'
|
34
150
|
type: :runtime
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
151
|
+
prerelease: false
|
152
|
+
version_requirements: !ruby/object:Gem::Requirement
|
153
|
+
none: false
|
154
|
+
requirements:
|
155
|
+
- - ! '>='
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: '0'
|
158
|
+
- !ruby/object:Gem::Dependency
|
159
|
+
name: turnip
|
160
|
+
requirement: !ruby/object:Gem::Requirement
|
161
|
+
none: false
|
162
|
+
requirements:
|
163
|
+
- - ! '>='
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: '0'
|
166
|
+
type: :development
|
167
|
+
prerelease: false
|
168
|
+
version_requirements: !ruby/object:Gem::Requirement
|
169
|
+
none: false
|
170
|
+
requirements:
|
171
|
+
- - ! '>='
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0'
|
174
|
+
- !ruby/object:Gem::Dependency
|
175
|
+
name: rspec
|
176
|
+
requirement: !ruby/object:Gem::Requirement
|
177
|
+
none: false
|
178
|
+
requirements:
|
179
|
+
- - ! '>='
|
180
|
+
- !ruby/object:Gem::Version
|
181
|
+
version: 2.10.0
|
182
|
+
type: :development
|
183
|
+
prerelease: false
|
184
|
+
version_requirements: !ruby/object:Gem::Requirement
|
185
|
+
none: false
|
186
|
+
requirements:
|
187
|
+
- - ! '>='
|
188
|
+
- !ruby/object:Gem::Version
|
189
|
+
version: 2.10.0
|
190
|
+
- !ruby/object:Gem::Dependency
|
191
|
+
name: fabrication
|
192
|
+
requirement: !ruby/object:Gem::Requirement
|
193
|
+
none: false
|
194
|
+
requirements:
|
195
|
+
- - ! '>='
|
196
|
+
- !ruby/object:Gem::Version
|
197
|
+
version: '0'
|
198
|
+
type: :development
|
199
|
+
prerelease: false
|
200
|
+
version_requirements: !ruby/object:Gem::Requirement
|
201
|
+
none: false
|
202
|
+
requirements:
|
203
|
+
- - ! '>='
|
204
|
+
- !ruby/object:Gem::Version
|
205
|
+
version: '0'
|
206
|
+
- !ruby/object:Gem::Dependency
|
207
|
+
name: vcr
|
208
|
+
requirement: !ruby/object:Gem::Requirement
|
209
|
+
none: false
|
210
|
+
requirements:
|
211
|
+
- - ! '>='
|
212
|
+
- !ruby/object:Gem::Version
|
213
|
+
version: '0'
|
214
|
+
type: :development
|
215
|
+
prerelease: false
|
216
|
+
version_requirements: !ruby/object:Gem::Requirement
|
217
|
+
none: false
|
218
|
+
requirements:
|
219
|
+
- - ! '>='
|
220
|
+
- !ruby/object:Gem::Version
|
221
|
+
version: '0'
|
222
|
+
description: DTF is a modular testing framework skeleton. This is the control gem
|
223
|
+
which contains the Suite's db schema(s) and control/management scripts.
|
224
|
+
email:
|
225
|
+
- me@deryldoucette.com
|
226
|
+
executables:
|
39
227
|
- dtf
|
228
|
+
- dtf-create_user
|
229
|
+
- dtf-create_vs
|
230
|
+
- dtf-delete_user
|
231
|
+
- dtf-delete_vs
|
232
|
+
- dtf-setup
|
40
233
|
extensions: []
|
41
|
-
|
42
234
|
extra_rdoc_files: []
|
43
|
-
|
44
|
-
|
45
|
-
-
|
46
|
-
-
|
47
|
-
-
|
48
|
-
-
|
49
|
-
-
|
50
|
-
-
|
51
|
-
- lib/plugins/dtf/text_output.rb
|
52
|
-
- lib/plugins/dtf/status_test.rb
|
53
|
-
- lib/plugins/dtf/env_match_test.rb
|
54
|
-
- lib/plugins/dtf/comment_test_input.rb
|
55
|
-
- bin/dtf
|
235
|
+
files:
|
236
|
+
- .gitignore
|
237
|
+
- .idea/bashsupport_project.xml
|
238
|
+
- .rspec
|
239
|
+
- .rvmrc
|
240
|
+
- .travis.yml
|
241
|
+
- Gemfile
|
242
|
+
- History.md
|
56
243
|
- LICENSE
|
57
244
|
- README.md
|
58
|
-
|
59
|
-
|
60
|
-
|
245
|
+
- Rakefile
|
246
|
+
- TODO
|
247
|
+
- app/models/analysis_case.rb
|
248
|
+
- app/models/case_test.rb
|
249
|
+
- app/models/user.rb
|
250
|
+
- app/models/verification_suite.rb
|
251
|
+
- bin/dtf
|
252
|
+
- bin/dtf-create_user
|
253
|
+
- bin/dtf-create_vs
|
254
|
+
- bin/dtf-delete_user
|
255
|
+
- bin/dtf-delete_vs
|
256
|
+
- bin/dtf-setup
|
257
|
+
- db/migrate/20120503050925_create_users.rb
|
258
|
+
- db/migrate/20120508000959_create_verification_suites.rb
|
259
|
+
- db/migrate/20120616203047_create_analysis_cases.rb
|
260
|
+
- db/migrate/20120616203436_create_case_tests.rb
|
261
|
+
- db/schema.rb
|
262
|
+
- doc/.gitkeep
|
263
|
+
- dtf.gemspec
|
264
|
+
- examples/db/config.yml
|
265
|
+
- lib/config/environment.rb
|
266
|
+
- lib/dtf.rb
|
267
|
+
- lib/dtf/version.rb
|
268
|
+
- lib/tasks/setup.thor
|
269
|
+
- spec/acceptance/0001_create_basic_models.feature
|
270
|
+
- spec/acceptance/0002_create_basic_associations.feature
|
271
|
+
- spec/acceptance/0003_execute_help_switch.feature
|
272
|
+
- spec/fabricators/analysis_case_fabricator.rb
|
273
|
+
- spec/fabricators/case_test_fabricator.rb
|
274
|
+
- spec/fabricators/user_fabricator.rb
|
275
|
+
- spec/fabricators/verification_suite_fabricator.rb
|
276
|
+
- spec/models/analysis_case_spec.rb
|
277
|
+
- spec/models/case_test_spec.rb
|
278
|
+
- spec/models/user_spec.rb
|
279
|
+
- spec/models/verification_suite_spec.rb
|
280
|
+
- spec/spec_helper.rb
|
281
|
+
- spec/steps/feature_steps.rb
|
282
|
+
- spec/support/custom_matchers/model_steps.rb
|
283
|
+
- spec/support/helpers/.gitkeep
|
284
|
+
homepage: https://github.com/dtf-gems/dtf
|
285
|
+
licenses:
|
286
|
+
- MIT
|
61
287
|
post_install_message:
|
62
288
|
rdoc_options: []
|
63
|
-
|
64
|
-
require_paths:
|
289
|
+
require_paths:
|
65
290
|
- lib
|
66
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
291
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
67
292
|
none: false
|
68
|
-
requirements:
|
69
|
-
- -
|
70
|
-
- !ruby/object:Gem::Version
|
71
|
-
|
72
|
-
|
73
|
-
- 0
|
74
|
-
version: "0"
|
75
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
293
|
+
requirements:
|
294
|
+
- - ! '>='
|
295
|
+
- !ruby/object:Gem::Version
|
296
|
+
version: 1.9.3
|
297
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
76
298
|
none: false
|
77
|
-
requirements:
|
78
|
-
- -
|
79
|
-
- !ruby/object:Gem::Version
|
80
|
-
|
81
|
-
segments:
|
82
|
-
- 0
|
83
|
-
version: "0"
|
299
|
+
requirements:
|
300
|
+
- - ! '>='
|
301
|
+
- !ruby/object:Gem::Version
|
302
|
+
version: '0'
|
84
303
|
requirements: []
|
85
|
-
|
86
|
-
|
87
|
-
rubygems_version: 1.8.23
|
304
|
+
rubyforge_project: dtf
|
305
|
+
rubygems_version: 1.8.24
|
88
306
|
signing_key:
|
89
307
|
specification_version: 3
|
90
|
-
summary:
|
91
|
-
test_files:
|
92
|
-
|
308
|
+
summary: DTF is a modular testing framework. This is the control gem.
|
309
|
+
test_files:
|
310
|
+
- spec/acceptance/0001_create_basic_models.feature
|
311
|
+
- spec/acceptance/0002_create_basic_associations.feature
|
312
|
+
- spec/acceptance/0003_execute_help_switch.feature
|
313
|
+
- spec/fabricators/analysis_case_fabricator.rb
|
314
|
+
- spec/fabricators/case_test_fabricator.rb
|
315
|
+
- spec/fabricators/user_fabricator.rb
|
316
|
+
- spec/fabricators/verification_suite_fabricator.rb
|
317
|
+
- spec/models/analysis_case_spec.rb
|
318
|
+
- spec/models/case_test_spec.rb
|
319
|
+
- spec/models/user_spec.rb
|
320
|
+
- spec/models/verification_suite_spec.rb
|
321
|
+
- spec/spec_helper.rb
|
322
|
+
- spec/steps/feature_steps.rb
|
323
|
+
- spec/support/custom_matchers/model_steps.rb
|
324
|
+
- spec/support/helpers/.gitkeep
|
325
|
+
has_rdoc:
|