dtf 0.2.1 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- 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/.gitignore
ADDED
@@ -0,0 +1,44 @@
|
|
1
|
+
.project
|
2
|
+
*~
|
3
|
+
.config
|
4
|
+
pmip/**/*
|
5
|
+
.idea/**/*
|
6
|
+
*.log
|
7
|
+
pkg
|
8
|
+
.yardoc
|
9
|
+
dtf.sublime-workspace
|
10
|
+
_yardoc
|
11
|
+
tmp
|
12
|
+
Thumbs.db
|
13
|
+
*.bak
|
14
|
+
.iws
|
15
|
+
pmip
|
16
|
+
.DS_Store
|
17
|
+
*.rbc
|
18
|
+
.svn/
|
19
|
+
/db/config.yml
|
20
|
+
*.gem
|
21
|
+
InstalledFiles
|
22
|
+
Gemfile.lock
|
23
|
+
rdoc
|
24
|
+
dtf.sublime-project
|
25
|
+
*.swp
|
26
|
+
lib/bundler/man
|
27
|
+
.bundle
|
28
|
+
~*
|
29
|
+
coverage
|
30
|
+
.*proj
|
31
|
+
*.iml
|
32
|
+
.idea/
|
33
|
+
*.patch
|
34
|
+
spec/reports
|
35
|
+
.idea
|
36
|
+
node_modules/
|
37
|
+
/db/*.sqlite3
|
38
|
+
.classpath
|
39
|
+
target/
|
40
|
+
.settings/
|
41
|
+
test/version_tmp
|
42
|
+
*.diff
|
43
|
+
.ipr
|
44
|
+
test/tmp
|
data/.rspec
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
-r turnip/rspec --color
|
data/.rvmrc
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
#!/usr/bin/env bash
|
2
|
+
|
3
|
+
# This is an RVM Project .rvmrc file, used to automatically load the ruby
|
4
|
+
# development environment upon cd'ing into the directory
|
5
|
+
|
6
|
+
# First we specify our desired <ruby>[@<gemset>], the @gemset name is optional,
|
7
|
+
# Only full ruby name is supported here, for short names use:
|
8
|
+
# echo "rvm use 1.9.3" > .rvmrc
|
9
|
+
environment_id="ruby-1.9.3-p194@dtf"
|
10
|
+
|
11
|
+
# Uncomment the following lines if you want to verify rvm version per project
|
12
|
+
rvmrc_rvm_version="1.14.1 (master)" # 1.10.1 seams as a safe start
|
13
|
+
eval "$(echo ${rvm_version}.${rvmrc_rvm_version} | awk -F. '{print "[[ "$1*65536+$2*256+$3" -ge "$4*65536+$5*256+$6" ]]"}' )" || {
|
14
|
+
echo "This .rvmrc file requires at least RVM ${rvmrc_rvm_version}, aborting loading."
|
15
|
+
return 1
|
16
|
+
}
|
17
|
+
|
18
|
+
# First we attempt to load the desired environment directly from the environment
|
19
|
+
# file. This is very fast and efficient compared to running through the entire
|
20
|
+
# CLI and selector. If you want feedback on which environment was used then
|
21
|
+
# insert the word 'use' after --create as this triggers verbose mode.
|
22
|
+
if [[ -d "${rvm_path:-$HOME/.rvm}/environments"
|
23
|
+
&& -s "${rvm_path:-$HOME/.rvm}/environments/$environment_id" ]]
|
24
|
+
then
|
25
|
+
\. "${rvm_path:-$HOME/.rvm}/environments/$environment_id"
|
26
|
+
[[ -s "${rvm_path:-$HOME/.rvm}/hooks/after_use" ]] &&
|
27
|
+
\. "${rvm_path:-$HOME/.rvm}/hooks/after_use" || true
|
28
|
+
if [[ $- == *i* ]] # check for interactive shells
|
29
|
+
then echo "Using: $(tput setaf 2)$GEM_HOME$(tput sgr0)" # show the user the ruby and gemset they are using in green
|
30
|
+
else echo "Using: $GEM_HOME" # don't use colors in non-interactive shells
|
31
|
+
fi
|
32
|
+
else
|
33
|
+
# If the environment file has not yet been created, use the RVM CLI to select.
|
34
|
+
rvm --create use "$environment_id" || {
|
35
|
+
echo "Failed to create RVM environment '${environment_id}'."
|
36
|
+
return 1
|
37
|
+
}
|
38
|
+
fi
|
39
|
+
|
40
|
+
# If you use bundler, this might be useful to you:
|
41
|
+
# if [[ -s Gemfile ]] && {
|
42
|
+
# ! builtin command -v bundle >/dev/null ||
|
43
|
+
# builtin command -v bundle | GREP_OPTIONS= \grep $rvm_path/bin/bundle >/dev/null
|
44
|
+
# }
|
45
|
+
# then
|
46
|
+
# printf "%b" "The rubygem 'bundler' is not installed. Installing it now.\n"
|
47
|
+
# gem install bundler
|
48
|
+
# fi
|
49
|
+
# if [[ -s Gemfile ]] && builtin command -v bundle >/dev/null
|
50
|
+
# then
|
51
|
+
# bundle install | GREP_OPTIONS= \grep -vE '^Using|Your bundle is complete'
|
52
|
+
# fi
|
data/.travis.yml
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
rvm:
|
2
|
+
- 1.9.3
|
3
|
+
before_script:
|
4
|
+
- RAILS_ENV='development' bundle exec thor dtf_setup:config
|
5
|
+
- RAILS_ENV='development' bundle exec rake db:migrate
|
6
|
+
- RAILS_ENV='development' bundle exec gem list
|
7
|
+
script: RAILS_ENV='development' bundle exec rspec spec --format doc
|
8
|
+
language: ruby
|
9
|
+
notifications:
|
10
|
+
irc:
|
11
|
+
channels:
|
12
|
+
- "irc.freenode.org#dtf-gems"
|
13
|
+
email:
|
14
|
+
recipients:
|
15
|
+
- me@deryldoucette.com
|
16
|
+
on_failure: change
|
data/Gemfile
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
# -*- coding: UTF-8 -*-
|
2
|
+
|
3
|
+
source 'https://rubygems.org'
|
4
|
+
|
5
|
+
# Specify your gem's dependencies in dtf.gemspec
|
6
|
+
group :development, :test do
|
7
|
+
#gem "pry", :git => "https://github.com/pry/pry.git"
|
8
|
+
#gem "pry-doc", :git => "https://github.com/pry/pry-doc.git"
|
9
|
+
#gem "method_source", :git => "https://github.com/banister/method_source.git"
|
10
|
+
gem 'pry'
|
11
|
+
gem 'pry-doc'
|
12
|
+
gem 'pry-debugger'
|
13
|
+
gem "pry-git"
|
14
|
+
gem "pry-developer_tools"
|
15
|
+
gem "pry-syntax-hacks"
|
16
|
+
gem "pry-editline"
|
17
|
+
gem "pry-highlight"
|
18
|
+
gem "pry-buffers"
|
19
|
+
gem "pry-stack_explorer"
|
20
|
+
gem "pry-exception_explorer"
|
21
|
+
gem "jist"
|
22
|
+
gem "pry-theme"
|
23
|
+
gem 'simplecov'
|
24
|
+
end
|
25
|
+
|
26
|
+
gemspec
|
data/History.md
ADDED
@@ -0,0 +1,75 @@
|
|
1
|
+
|
2
|
+
0.2.2 / 2012-08-08
|
3
|
+
==================
|
4
|
+
|
5
|
+
* Fixed up included baseline pry and related gems. Now using pry-debugger which uses debugger gem.
|
6
|
+
* Forgot to add doc/.gitkeep so that git retains the (currently) empty directory
|
7
|
+
* Removed doc directory from .gitignore since we plan on storing docs here
|
8
|
+
* Added /db/config.yml and /db/*.sqlite3 to .gitignore file
|
9
|
+
* We run thor dtf_setup:config so no need to put the config there ahead of time.
|
10
|
+
* Defaulted the gem to RAILS_ENV='production'. Modified .travis.yml to set this to 'development' before running commands. This affects ActiveRecord database selection, and whether testing gems are available.
|
11
|
+
* Updated associations to include dependent destroy and autosave
|
12
|
+
* Added entry to TODO to remember to change ENV['RAILS_ENV'] to production upon gem release. Also put TODO note in environment.rb [ci skip]
|
13
|
+
* Added config.ymla nd dtf-setup
|
14
|
+
* Added dtf-setup script to do setup
|
15
|
+
* Forgot to add require 'thor' for tasks
|
16
|
+
* Forgot to remove pry-coolline from environment.rb as well. sigh
|
17
|
+
* Forgot to commit Gemfile without pry-coolline. It breaks a lot of core functionality features in pry which uses readline instead, so tab completion and the like are busted.
|
18
|
+
* Added bundle exec gem list to before_script for travis. Travis doesn't output a list of gems used, and since this is itself a gem there is no Gemfile.lock committed. So this is the only way to see what versions of dependencies are being installed since the version isn't locked down within the gemspec.
|
19
|
+
* Incorrect numbering of tests. Really just these 2 files should be numbered because they should run before all other tests. The reasoning is that by testing basic model creation, and basic core associations first then all other tests should succeed so run them first.
|
20
|
+
* Added additional steps definitions and feature for testing basic model associations
|
21
|
+
* Removed auto-fabrication of a verification suite for fabricated analysis cases as that will cause problems in testing.
|
22
|
+
* Updated migrations to reflect changeout of HABTM for has_many :through. Deleted HABTM join table migration.
|
23
|
+
* Changed out HABTM association from models for belongs_to and has_many :through
|
24
|
+
* Just adding dep for pry-theme so I can use different color coding. No code changes. [ci skip]
|
25
|
+
* Fixed the matcher thanks to workmad3 explaining what I was doing wrong. Bad matcher.
|
26
|
+
* Split out to :association as workmad3 was indicating. But for some reason its not finding the step anymore. Getting 'No such step' on user ownership tracking through verification_suites.
|
27
|
+
* Broke CI testing because pry is not being loaded. Forgot to add :test group to Gemfile
|
28
|
+
* bin directory should have contents +755.
|
29
|
+
* Added RVM version check to .rvmrc file. Moved Pry development dependencies to Gemfile from gemspec because gemspec does not support using :git with dependencies. Gemfile does.
|
30
|
+
* For some reason git marked bin/.gitkeep chmod 755. NO, bad git
|
31
|
+
* Added a dependency on vcr gem. dtf will contain the core of the connection API which each sub-module gem extends for its portion. In order to be able to replay with exactness, I decided to try out 'vcr'.
|
32
|
+
* Last bit of ordering on case_test
|
33
|
+
* Reordering associations
|
34
|
+
* Fix association ordering in models
|
35
|
+
* Added notes for going forward to TODO list. [ci skip]
|
36
|
+
* Modified rspec model tests to ensure Models are properly created, and persisted.
|
37
|
+
* Added RSpec steps for '0001_create_basic_models.feature' using fabrication of each of the base models
|
38
|
+
* Added core models and ownership directions test, as a turnip feature
|
39
|
+
* Fixed .travis.yml config. Forgot to add thor dtf_setup:config for copying db/config.yml
|
40
|
+
* Added travis-ci.org .travis.yml configuration file for public CI testing
|
41
|
+
* Fixed fabricators as they had bad var names and logic. Fixed and added specs for each model. Tests and Fabricators PASS
|
42
|
+
* Added RSpec and Turnip infrastructure, and a basic User spec
|
43
|
+
* Added lib/config/environment.rb for environmental control. Updated .gitignore to remove config dir
|
44
|
+
* Added fabrication gem to gemspec. Created Fabricators for each model
|
45
|
+
* Added logic to lib/dtf/rb to load the model files so that require 'dtf' autoloaded them
|
46
|
+
* Renamed incorrectly named AnalysisSuite to AnalysisCase and renamed associated migration. Fixed typo in AnalysisCase and CaseTest validations. Added additional deps for pry to dtf.gemspec for development mode. Added corrected db/schema.rb
|
47
|
+
* Fixed formatting of schema.rb
|
48
|
+
* Fixed typos in migrations and added db/schema.rb to repo
|
49
|
+
* Mode change on dtf-create_vs script
|
50
|
+
* Updated dependencies for Active(Record|Model|Support) and json(_pure) to gemspec
|
51
|
+
* Added models and migrations for User, Verification Suite, Analysis Case, and Case Test with associations migration
|
52
|
+
* Added basic outline of dtf-* management scripts
|
53
|
+
* Added bin directory as this is where the control/management scripts will live.
|
54
|
+
* Added db/.gitkeep and db/migrate/.gitkeep to ensure directory structure stays even if empty
|
55
|
+
* Renamed database.yml to config.yml for standalone_migrations. renamed examples/config to examples/db to coincide with destination dir names
|
56
|
+
* db/migrations is deprecated for d/migrate so changed the dirname and related thor tasks
|
57
|
+
* Added example sqlite3 dtf_*.sqlite3 database.yml file. This gets copied by thor dtf_setup:config
|
58
|
+
* Added directory logic to the thor install and config options because the copy operatins are copying files relative to the gem to places relative to the user's project, so the paths have to change.
|
59
|
+
* Changed thor task class to DtfSetup to isolate namespace
|
60
|
+
* Added db/migrations directory and updated setup.thor with install and config tasks
|
61
|
+
* Updated .gitignore to ignore config/ and added examples directory with config subdir for thor setup:install task
|
62
|
+
* Added thor setup task
|
63
|
+
* Incorrect rspec version currently
|
64
|
+
* Updated gemspec to rely on rspec 2.10.1 or higher, and am changing to using thor for task management
|
65
|
+
* Added .idea and pmip to gitignore
|
66
|
+
* Added a TODO file for tracking forward movement
|
67
|
+
* Added .idea and pmip directories to .gitignore file.
|
68
|
+
* Needlessly added dependency. Calling gem 'rspec' pulls in rspec-core, rspec-expectations, and rspec-mocks so no need to explicitly declare rspec-expectations
|
69
|
+
* Added standalone_migrations tasks call to Rakefile
|
70
|
+
* Added rspec and turnip infrastructure directories
|
71
|
+
* Added .rspec file to connect turnip
|
72
|
+
* Development dependency reordering
|
73
|
+
* Added pry and related gems, plus rspec-expectations, and standalone_migrations development dependencies
|
74
|
+
* Extended description of gem to better define gem contents and function
|
75
|
+
* Initial commit of DTF's dtf infrastructure gem
|
data/LICENSE
CHANGED
@@ -1,13 +1,22 @@
|
|
1
|
-
Copyright (c)
|
1
|
+
Copyright (c) 2012 Deryl R. Doucette
|
2
2
|
|
3
|
-
|
4
|
-
you may not use this file except in compliance with the License.
|
5
|
-
You may obtain a copy of the License at
|
3
|
+
MIT License
|
6
4
|
|
7
|
-
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
8
12
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
CHANGED
@@ -1,66 +1,88 @@
|
|
1
1
|
# Deryls Testing Framework
|
2
2
|
|
3
|
-
DTF is a
|
4
|
-
DTF also is an umbrella which incorporates (eventually) multiple gems, each of which provides additional functionality
|
5
|
-
to DTF. DTF is the skeleton upon which all other dtf-* gems build.
|
3
|
+
DTF is designed to be a modular framework for testing everything from shell scripts, to Ruby, to Rails apps.
|
6
4
|
|
5
|
+
DTF is an umbrella which is designed to incorporate multiple sub-gems, each of which provides additional
|
6
|
+
functionality to DTF. DTF is the master skeleton within which all other dtf-* gems integrate.
|
7
7
|
|
8
|
-
##
|
8
|
+
## Internal architecture
|
9
9
|
|
10
|
-
|
11
|
-
|
10
|
+
DTF is designed in such a way that, with the master skeleton in place, one has only to load additional plugins
|
11
|
+
from any available DTF extension gem to add additional functionality. This can be anything ranging from
|
12
|
+
additional languages such as Ruby, Python, C, C++, etc, to testing methods and methodologies.
|
12
13
|
|
13
|
-
##
|
14
|
+
## Current Status
|
14
15
|
|
15
|
-
|
16
|
+
DTF is 100% Alpha quality right now. For those that don't know what that means, generally this means DTF is
|
17
|
+
comprised of code with a vastly high potential for buggy code that may or may not even run. Consider DTF
|
18
|
+
to be experimental until further notice. This README will be updated to reflect when DTF reaches a
|
19
|
+
'stable' quality.
|
16
20
|
|
17
|
-
|
21
|
+
DTF will gladly, and willingly, review any Pull Requests sent to us, and incorporate them as they fit with
|
22
|
+
the mission goal of DTF. Please bear in mind that DTF is a rolling Project. This means that the definition
|
23
|
+
of what DTF is, and how that is implemented is not firmly etched in stone yet, so both of those can, and
|
24
|
+
most likely will, change as time passes. If you can deal with that, please, by all means, feel free to
|
25
|
+
contribute.
|
18
26
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
27
|
+
**NOTE: DTF was originally released with a soon-to-be 100% different codebase, and gemified. This version
|
28
|
+
will be gemified as well, _but_ in order to ensure that we can continue to use the 'dtf' name on
|
29
|
+
rubygems.org we have to bump the version number by .1 and go from there. So, that changes our new
|
30
|
+
numbering scheme a bit. The next release of 'dtf' that will be 100% the _new_ codebase will be 0.2.2. The
|
31
|
+
last 'dtf' that is the original code base is: dtf-0.2.1 on rubygems.org. Thanks for bearing with DTF while
|
32
|
+
the codebase change is swapped over.
|
25
33
|
|
26
|
-
|
34
|
+
## Branches
|
27
35
|
|
28
|
-
|
36
|
+
DTF has a branching and tagging topology as follows, and applies to DTF and _all_ sub-module gems:
|
37
|
+
|
38
|
+
* master - This branch on the DTF control gem, and _all_ dtf-<blah> sub-module gems is for **development**
|
39
|
+
|
40
|
+
* stable - This branch on the DTF gem, and _all_ dtf-<blah> sub-modules, is 'stable' or 'production'
|
41
|
+
quality. Anything on this branch is to be considered safe and usable for everyday stuff.
|
42
|
+
|
43
|
+
* hotfix/>blah> branches are **stable** quality only. These are for running fixes to a particular stable
|
44
|
+
branch and will usually result in generating a new version tag. For example, if the hotfix was applied
|
45
|
+
against v2.3.4, then a tag of v2.3.5 would be generated once that hotfix was proven to be tested and
|
46
|
+
stable.
|
47
|
+
|
48
|
+
* feature/<blah> branches are **development** quality only. This is for work on individual new features
|
49
|
+
that _will_ be rolled into DTF or sub-module gems.
|
50
|
+
|
51
|
+
* playground/<blah> branches are **alpha** quality only. These are for developers to work out either
|
52
|
+
feasibilty of way-in-the-future ideas or to try something out that may, or may not, be incorporated into
|
53
|
+
the DTF or its sub-modules. _These are 100% to9 be considered throw-aways. They could disappear at any
|
54
|
+
moment, and any user of the DTF framework that relies on these branches is on their own. NO SUPPORT will
|
55
|
+
be provided of any kind for these branches_ so everyone is clear on that.
|
56
|
+
|
57
|
+
* All 'stable' production releases will be tagged. Only those releases will be tagged starting with a v,
|
58
|
+
and a series like #.#.# where the first '#' starts with 1 going to whatever, in progressive order. This
|
59
|
+
represents an industry standard versioning format. NOTE: v0.#.# is NOT considered a 'stable' release!
|
60
|
+
This is normal in the industry for Projects just starting out. When a version is reached that we believe
|
61
|
+
to be of sufficient quality to be denoted, and tagged, as our first Stable release, it will be marked as
|
62
|
+
v1.#.# and NOT v0.#.#. The remaining '#' in the example denote our Minor, and Change '#' levels. For
|
63
|
+
example, #.#.# is Major.Minor.Change_Number_within_Minor. This means the following. Given a 'v2.3.4' tag,
|
64
|
+
this would denote:
|
65
|
+
|
66
|
+
* The 2nd official 'stable' release.
|
67
|
+
* The 3rd Minor change to the 2.x series
|
68
|
+
* The 4th applied change within the 3rd Minor series.
|
29
69
|
|
30
|
-
|
31
|
-
|
32
|
-
|
70
|
+
Until such time as the first official stable release is made, all v0.#.# tags up to but not including v0.5.0
|
71
|
+
are of Alpha quality. Tags v0.5.# up to but not including v1.0.0 are to be considered Beta quality. This gives
|
72
|
+
us plenty of room for Alpha _and_ Beta work before an official 'stable' release within the numbering system.
|
73
|
+
** This applies to the DTF control gem, and _all_ dtf-<blah> sub-module gems! Please bear this in mind! **
|
33
74
|
|
34
|
-
|
75
|
+
We are making this a uniform policy across all levels of DTF to ensure that what you think something is,
|
76
|
+
really is when it comes to version numbers and what they mean. This _will_ be a _strictly_ enforced policy.
|
35
77
|
|
36
|
-
$ bin/dtf example_tests/comment/*
|
37
|
-
F..
|
38
|
-
##### Processed commands 2 of 2, success tests 2 of 3, failure tests 1 of 3.
|
39
|
-
$ false
|
40
|
-
# failed: status = 0 # was 1
|
41
|
-
|
42
|
-
$ bin/dtf example_tests/comment/* --text
|
43
|
-
##### starting test failure.
|
44
|
-
$ false
|
45
|
-
# failed: status = 0 # was 1
|
46
|
-
##### starting test success.
|
47
|
-
$ true
|
48
|
-
# passed: status = 0
|
49
|
-
# passed: status != 1
|
50
|
-
##### Processed commands 2 of 2, success tests 2 of 3, failure tests 1 of 3.
|
51
78
|
|
52
|
-
##
|
79
|
+
## Installation
|
53
80
|
|
54
|
-
|
81
|
+
To Be Announced
|
55
82
|
|
56
|
-
lib/plugins/dtf/text_output.rb
|
57
|
-
lib/plugins/dtf/status_test.rb
|
58
|
-
lib/plugins/dtf/comment_test_input.rb
|
59
83
|
|
60
|
-
|
84
|
+
## Usage
|
61
85
|
|
62
|
-
|
86
|
+
To Be Announced
|
63
87
|
|
64
|
-
And plugins are selected with:
|
65
88
|
|
66
|
-
lib/plugins/dtf/*_{input,test,output}.rb
|
data/Rakefile
ADDED
data/TODO
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
Make sure to change ENV['RAILS_ENV'] to default to "production" upon release
|
2
|
+
|
3
|
+
Write control/management scripts
|
4
|
+
Ex: writing the scripts to add users, and create/delete
|
5
|
+
verification suites/analysis cases from the commandline.
|
6
|
+
|
7
|
+
Esure that the thor tasks for copying the dtf migrations and db config into a
|
8
|
+
project. which work now, get tests written to show they do.
|
9
|
+
|
10
|
+
Properly document the params for DTF's dtf-* commands, as well as integration
|
11
|
+
docs for sub-gems
|
12
|
+
|
13
|
+
Then its on to dtf-session to rewrite it so that when it includes dtf, the thor
|
14
|
+
tasks are registered and usable, and to redo the code to use the new schema
|
15
|
+
|
16
|
+
Then on to dtf-rvm gem, dtf-sm gem, and dtf-shell
|
17
|
+
|
18
|
+
Those 3 gems would provide a full suite for testing ruby code, rvm, shell code and
|
19
|
+
sm directly, when coupled with dtf master gem. Then we can build other framework
|
20
|
+
gems.
|
21
|
+
|
22
|
+
dtf-session becomes a dependency of dtf-shell which will be written to support
|
23
|
+
specific Shells
|
24
|
+
|
25
|
+
dtf-rvm will have a dependency on both dtf-session, and rvm gems
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# -*- coding: UTF-8 -*-
|
2
|
+
|
3
|
+
class AnalysisCase < ActiveRecord::Base
|
4
|
+
|
5
|
+
attr_accessible :name, :description
|
6
|
+
validates_presence_of :name, :description
|
7
|
+
|
8
|
+
belongs_to :verification_suite, :autosave => :true
|
9
|
+
belongs_to :user, :autosave => :true
|
10
|
+
has_many :case_tests, :dependent => :destroy
|
11
|
+
|
12
|
+
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
# -*- coding: UTF-8 -*-
|
2
|
+
|
3
|
+
class CaseTest < ActiveRecord::Base
|
4
|
+
|
5
|
+
attr_accessible :description, :cmd
|
6
|
+
validates_presence_of :description, :cmd
|
7
|
+
|
8
|
+
belongs_to :analysis_case, :autosave => :true
|
9
|
+
has_one :verification_suite, :through => :analysis_case, :autosave => :true
|
10
|
+
end
|