class Object
Constants
- BASE
Add examples dir and lib/git-ds to ruby path
Public Instance Methods
fill_model(model)
click to toggle source
# File doc/examples/key_value/test.rb, line 14 def fill_model(model) model.exec do { :a => 1, :b => 2, :c => 3 }.each { |k,v| model[k] = v } end model.db.set_author('a user', 'au@users.net') model.exec do { :a => 999, :b => 998, :c => 997, :d => 996, :e => 995 }.each { |k,v| model[k] = v } end end
get_options(args)
click to toggle source
# File doc/examples/test_suite/ts_add_bug.rb, line 15 def get_options(args) options = OpenStruct.new options.db = nil options.auto = false options.ident = nil options.descr = nil opts = OptionParser.new do |opts| opts.banner = "Usage: #{$0} [-p db_path] IDENT DESCR" opts.separator 'Add a bug report to database' opts.separator 'Options:' opts.on( '-p', '--db-path PATH', 'Path to TestSuite GitDS' ) do |path| options.db = path options.auto = true end opts.on_tail( '-?', '--help', 'Show this message') do puts opts exit -1 end end opts.parse!(args) options.db = GitDS::Database.top_level if not options.db raise "Invalid database" if not options.db if args.count > 1 options.ident = args.shift options.descr = args.shift else puts opts.banner exit -2 end options end
list_bugs(model, details)
click to toggle source
# File doc/examples/test_suite/ts_list.rb, line 92 def list_bugs(model, details) puts "Bugs:" model.bugs.each do |ident| puts "\t" + ident if details b = model.bug(ident) puts "\t\t" + b.description puts "\t\t" + ((b.open?) ? 'Open' : 'Closed') puts "\t\tTests:" b.tests.each { |ident| puts "\t\t\t" + ident } end end end
list_model(model)
click to toggle source
# File doc/examples/key_value/test.rb, line 37 def list_model(model) model.each { |k, v| puts "#{k} : #{v}" } end
list_modules(model, details)
click to toggle source
# File doc/examples/test_suite/ts_list.rb, line 57 def list_modules(model, details) puts "Modules:" model.modules.each do |ident| puts "\t" + ident if details m = model.module(ident) puts "\t\t" + m.name puts "\t\t" + m.path puts "\t\tContents:" puts "\t\t" + m.data[0,60] + (m.data.length > 60 ? '...' : '') end end end
list_suites(model, details)
click to toggle source
# File doc/examples/test_suite/ts_list.rb, line 71 def list_suites(model, details) puts "Test Suites:" model.test_suites.each do |ident| puts "\t" + ident if details s = model.test_suite(ident) puts "\t\t" + s.description puts "\t\tTests:" s.tests.each do |ident| t = s.test(ident) puts "\t\t\t" + ident puts "\t\t\t" + ((t.pass?) ? 'Passed' : 'Failed') puts "\t\t\t" + t.timestamp.to_s puts "\t\t\tModules:" t.modules.each { |ident| puts "\t\t\t\t" + ident } puts "\t\t\tLog:\n" + t.log end end end end
run_tests(db_path)
click to toggle source
# File doc/examples/test_suite/test.rb, line 120 def run_tests(db_path) db = GitDS::Database.connect_as(db_path, 'tony b', 'tony@disco.net') raise "Could not connect to db!" if not db model = TestSuiteModel.new(db) model.branched_transaction('TonyTesting') { model.perform_tests { |t| t.perform(true) } model.update_bugs } db.mark('Tony testing complete') db.close db = GitDS::Database.connect_as(db_path, 'bill p', 'bill@stallynz.net') raise "Could not connect to db!" if not db model = TestSuiteModel.new(db) db.unstage model.branched_transaction('QATesting') { s = model.test_suite('QA') s.tests.each do |ident| t = s.test(ident) t.perform(false, 'QA deemed results unworthy') end model.update_bugs } db.mark('QA testing complete') db.close end