class Object
Constants
- GITHUB_HTTPS
- GITHUB_SSH
- GitHubError
- InvalidDataType
- MesaDirError
- TestCaseDirError
Public Instance Methods
b64_file(filename)
click to toggle source
encode the contents of a file as base-64
# File lib/mesa_test.rb, line 1129 def b64_file(filename) Base64.encode64(File.open(filename).read) end
bash_execute(command, throw_exception=false)
click to toggle source
force the execution to happen with bash
# File lib/mesa_test.rb, line 1113 def bash_execute(command, throw_exception=false) res = system('bash -c "' + command + '"') if !res && throw_exception raise BashError('Encountered an error when executing the following '\ "command in bash: #{command}.") end res end
bashticks(command)
click to toggle source
force execution to happen with bash, but return result rather than exit status (like backticks)
# File lib/mesa_test.rb, line 1124 def bashticks(command) `bash -c "#{command}"`.chomp end
dir_or_symlink_exists?(path)
click to toggle source
# File lib/mesa_test.rb, line 1108 def dir_or_symlink_exists?(path) File.directory?(path) || File.symlink?(path) end
generate_seeds_rb(mesa_dir, outfile)
click to toggle source
the next function probalby doesn't belong here, but keep it anyway, please create seed data for test cases for MesaTestHub of a given mesa version
# File lib/mesa_test.rb, line 1087 def generate_seeds_rb(mesa_dir, outfile) m = Mesa.new(mesa_dir: mesa_dir) m.load_test_source_data File.open(outfile, 'w') do |f| f.puts 'test_cases = TestCase.create!(' f.puts ' [' m.test_names.each do |test_case_name| f.puts ' {' f.puts " name: '#{test_case_name}'," # no comma on last one if test_case_name == m.test_names[-1] f.puts(' }') else f.puts(' },') end end f.puts ' ]' f.puts ')' end end
visit_and_check(new_dir, exception, message) { || ... }
click to toggle source
cd into a new directory, execute a block whose return value is either true or false. Either way, cd back to original directory. Raise an exception if the block failed (returned false or nil)
# File lib/mesa_test.rb, line 1059 def visit_and_check(new_dir, exception, message) cwd = Dir.getwd shell.say "Leaving #{cwd}", :blue shell.say "\nEntering #{new_dir}.", :blue Dir.chdir(new_dir) success = yield if block_given? shell.say "Leaving #{new_dir}", :blue shell.say "\nEntering #{cwd}.", :blue Dir.chdir(cwd) return if success raise exception, message end
visit_dir(new_dir, quiet: false) { || ... }
click to toggle source
cd into a new directory, execute a block, then cd back into original directory
# File lib/mesa_test.rb, line 1074 def visit_dir(new_dir, quiet: false) cwd = Dir.getwd shell.say "Leaving #{cwd}\n", :blue unless quiet shell.say "\nEntering #{new_dir}.", :blue unless quiet Dir.chdir(new_dir) yield if block_given? shell.say "Leaving #{new_dir}\n", :blue unless quiet shell.say "\nRe-entering #{cwd}.", :blue unless quiet Dir.chdir(cwd) end