Update the LoadTesting framework.
Permit use of Git while still supporting Subversion. Improve the script structure and reduce dependence on hard-coded paths.
This commit is contained in:
parent
f382ec0468
commit
4f085bcdfe
20 changed files with 120 additions and 70 deletions
|
@ -10,18 +10,16 @@ directory, for possible inspection later.
|
|||
--------------------------------------------------------------------------------
|
||||
=end
|
||||
|
||||
require File.expand_path('subscripts/common', File.dirname(__FILE__))
|
||||
require 'date'
|
||||
require "#{File.dirname(__FILE__)}/subscripts/loadParms"
|
||||
|
||||
def figure_time_stamp()
|
||||
return DateTime.now.strftime("%Y-%m-%d_%H-%M-%S")
|
||||
end
|
||||
|
||||
Dir.chdir("/home/jeb228/LoadTesting/versions/#{@version_name}") do |path|
|
||||
@tomcat_logs_dir = "#{path}/tomcatLogs"
|
||||
if (! File.directory?(@tomcat_logs_dir))
|
||||
Dir.mkdir(@tomcat_logs_dir)
|
||||
end
|
||||
@tomcat_logs_dir = version_file('tomcatLogs')
|
||||
if (! File.directory?(@tomcat_logs_dir))
|
||||
Dir.mkdir(@tomcat_logs_dir)
|
||||
end
|
||||
|
||||
Dir.chdir(@tomcat_logs_dir) do |path|
|
||||
|
@ -30,6 +28,6 @@ Dir.chdir(@tomcat_logs_dir) do |path|
|
|||
end
|
||||
|
||||
Dir.chdir(@this_logs_dir) do |path|
|
||||
system('cp ~/LoadTesting/tomcat/logs/* .')
|
||||
system("cp #{@home}/tomcat/logs/* .")
|
||||
end
|
||||
|
||||
|
|
|
@ -9,4 +9,6 @@ Remove any Tomcat logs.
|
|||
--------------------------------------------------------------------------------
|
||||
=end
|
||||
|
||||
puts system("rm ~/LoadTesting/tomcat/logs/*")
|
||||
require File.expand_path('subscripts/common', File.dirname(__FILE__))
|
||||
|
||||
puts system("rm #{@home}/tomcat/logs/*")
|
||||
|
|
|
@ -13,12 +13,12 @@ template. Then run the build script.
|
|||
--------------------------------------------------------------------------------
|
||||
=end
|
||||
|
||||
require "#{File.dirname(__FILE__)}/subscripts/loadParms"
|
||||
require File.expand_path('subscripts/common', File.dirname(__FILE__))
|
||||
require 'erb'
|
||||
|
||||
def build_deploy_properties
|
||||
File.open(@deploy_properties_source) do |source_file|
|
||||
File.open(@deploy_properties_target, 'w') do |target_file|
|
||||
def process_template_file(source, target)
|
||||
File.open(source) do |source_file|
|
||||
File.open(target, 'w') do |target_file|
|
||||
raw = source_file.read()
|
||||
cooked = ERB.new(raw).result
|
||||
target_file.write(cooked)
|
||||
|
@ -26,14 +26,18 @@ def build_deploy_properties
|
|||
end
|
||||
end
|
||||
|
||||
puts system("rm -r ~/LoadTesting/tomcat/webapps/vivo*")
|
||||
puts system("rm -r ~/LoadTesting/tomcat/conf/Catalina/localhost/vivo*")
|
||||
puts system("rm -r #{@home}/tomcat/webapps/vivo*")
|
||||
puts system("rm -r #{@home}/tomcat/conf/Catalina/localhost/vivo*")
|
||||
puts system("rm -r #{@home}/tomcat/work/Catalina/localhost/vivo*")
|
||||
|
||||
@deploy_properties_source = "/home/jeb228/LoadTesting/distros/#{@distro_name}/deploy.properties.template"
|
||||
@deploy_properties_target = "/home/jeb228/LoadTesting/distros/#{@distro_name}/vivo/deploy.properties"
|
||||
build_deploy_properties()
|
||||
|
||||
Dir.chdir("/home/jeb228/LoadTesting/distros/#{@distro_name}/vivo") do |path|
|
||||
system "ant clean deploy"
|
||||
if (@is_git)
|
||||
process_template_file(distro_file("build.properties.template"), distro_file("VIVO/build.properties"))
|
||||
process_template_file(distro_file("runtime.properties.template"), version_file("data/runtime.properties"))
|
||||
Dir.chdir(distro_file("VIVO")) { |path| system "ant clean deploy" }
|
||||
else
|
||||
process_template_file(distro_file("deploy.properties.template"), distro_file("vivo/deploy.properties"))
|
||||
Dir.chdir(distro_file("vivo")) { |path| system "ant clean deploy" }
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -13,14 +13,14 @@ the data model.
|
|||
--------------------------------------------------------------------------------
|
||||
=end
|
||||
|
||||
require "#{File.dirname(__FILE__)}/subscripts/loadParms"
|
||||
require "#{File.dirname(__FILE__)}/subscripts/upload_file_faker"
|
||||
require File.expand_path('subscripts/common', File.dirname(__FILE__))
|
||||
require "subscripts/upload_file_faker"
|
||||
|
||||
properties = {}
|
||||
|
||||
properties["uploads_directory"] = "/home/jeb228/LoadTesting/versions/#{@version_name}/data/uploads"
|
||||
properties["file_info_file"] = "/home/jeb228/LoadTesting/modelData/#{@site_name}/imageFileInfo.csv"
|
||||
properties["template_file"] = "#{File.dirname(__FILE__)}/subscripts/dummy_image_file.jpg"
|
||||
properties["uploads_directory"] = version_file('data/uploads')
|
||||
properties["file_info_file"] = "#{@home}/modelData/#{@site_name}/imageFileInfo.csv"
|
||||
properties["template_file"] = "#{@home}/scripts/subscripts/dummy_image_file.jpg"
|
||||
|
||||
if ARGV.length == 1 && ARGV[0] == "doit"
|
||||
properties["scan_only"] = "false"
|
||||
|
|
|
@ -9,4 +9,6 @@ View the VIVO log in Tomcat.
|
|||
--------------------------------------------------------------------------------
|
||||
=end
|
||||
|
||||
puts system("less ~/LoadTesting/tomcat/logs/vivo.all.log")
|
||||
require File.expand_path('subscripts/common', File.dirname(__FILE__))
|
||||
|
||||
puts system("less #{@home}/tomcat/logs/vivo.all.log")
|
||||
|
|
|
@ -10,12 +10,12 @@ into an HTML file so we can easily compare them.
|
|||
--------------------------------------------------------------------------------
|
||||
=end
|
||||
|
||||
require "#{File.dirname(__FILE__)}/subscripts/loadParms"
|
||||
require "#{File.dirname(__FILE__)}/subscripts/test_result_merger"
|
||||
require File.expand_path('subscripts/common', File.dirname(__FILE__))
|
||||
require 'subscripts/test_result_merger'
|
||||
|
||||
properties = {}
|
||||
|
||||
source_dir = "/home/jeb228/LoadTesting/testinfo/results/#{@site_name}"
|
||||
source_dir = "#{@home}/testinfo/results/#{@site_name}"
|
||||
properties["source_directory"] = source_dir
|
||||
properties["target_directory"] = "/var/www/html/loadTesting/"
|
||||
properties["site_name"] = "#{@site_name}"
|
||||
|
@ -38,5 +38,3 @@ trm = TestResultMerger.new(properties)
|
|||
trm.merge
|
||||
|
||||
puts "TestResultMerger was successful."
|
||||
|
||||
|
||||
|
|
|
@ -13,15 +13,15 @@ Use XSL to create an HTML version of the results.
|
|||
--------------------------------------------------------------------------------
|
||||
=end
|
||||
|
||||
require "#{File.dirname(__FILE__)}/subscripts/loadParms"
|
||||
require File.expand_path('subscripts/common', File.dirname(__FILE__))
|
||||
|
||||
def locate_files()
|
||||
test_full_name = "#{@test_name}#{@test_suffix}"
|
||||
test_source_dir = "/home/jeb228/LoadTesting/testinfo/tests/#{@test_name}"
|
||||
test_source_dir = test_file("tests/#{@test_name}")
|
||||
@test_jmx_file = "#{test_source_dir}/#{test_full_name}.jmx"
|
||||
raise "Test file doesn't exist: '#{@test_jmx_file}'." unless File.file?(@test_jmx_file)
|
||||
|
||||
result_dir = "/home/jeb228/LoadTesting/testinfo/results/#{@site_name}"
|
||||
result_dir = test_file("results/#{@site_name}")
|
||||
Dir.mkdir(result_dir) unless File.directory?(result_dir)
|
||||
|
||||
@test_jtl_file = "#{result_dir}/#{test_full_name}.jtl"
|
||||
|
@ -33,7 +33,7 @@ def locate_files()
|
|||
@test_html_file = "#{result_dir}/#{test_full_name}.html"
|
||||
File.delete(@test_html_file) if File.file?(@test_html_file)
|
||||
|
||||
data_dir = "/home/jeb228/LoadTesting/modelData/#{@site_name}"
|
||||
data_dir = "#{@home}/modelData/#{@site_name}"
|
||||
@person_uris_file = "#{data_dir}/personUris.csv"
|
||||
raise "Person URIs file doesn't exist: '#{@person_uris_file}'" unless File.file?(@person_uris_file)
|
||||
@infoResource_uris_file = "#{data_dir}/infoResourceUris.csv"
|
||||
|
|
|
@ -12,12 +12,18 @@ Record that selection, along with the desired number of iterations and threads.
|
|||
--------------------------------------------------------------------------------
|
||||
=end
|
||||
|
||||
@test_parms_file = "#{File.dirname(__FILE__)}/subscripts/_current_test.rb"
|
||||
begin
|
||||
require File.expand_path('subscripts/common', File.dirname(__FILE__))
|
||||
rescue LoadError => e
|
||||
puts e
|
||||
end
|
||||
|
||||
@test_parms_file = "#{@home}/scripts/subscripts/_current_test.rb"
|
||||
|
||||
# Find out what tests we have available
|
||||
def build_test_list()
|
||||
@test_names = []
|
||||
Dir.foreach("/home/jeb228/LoadTesting/testinfo/tests") do |filename|
|
||||
Dir.foreach(test_file('tests')) do |filename|
|
||||
@test_names.push(filename) unless filename[0,1] == "."
|
||||
end
|
||||
@test_names.sort!
|
||||
|
|
|
@ -10,12 +10,18 @@ record that choice.
|
|||
--------------------------------------------------------------------------------
|
||||
=end
|
||||
|
||||
@version_parms_file = "#{File.dirname(__FILE__)}/subscripts/_current_version.rb"
|
||||
begin
|
||||
require File.expand_path('subscripts/common', File.dirname(__FILE__))
|
||||
rescue LoadError => e
|
||||
puts e
|
||||
end
|
||||
|
||||
@version_parms_file = "#{@home}/scripts/subscripts/_current_version.rb"
|
||||
|
||||
# Find out what versions we have available
|
||||
def build_version_list()
|
||||
@version_names = []
|
||||
Dir.foreach("/home/jeb228/LoadTesting/versions") do |filename|
|
||||
Dir.foreach("#{@home}/versions") do |filename|
|
||||
@version_names.push(filename) unless (filename[0,1] == "_") || (filename[0,1] == ".")
|
||||
end
|
||||
@version_names.sort!
|
||||
|
|
|
@ -8,5 +8,8 @@ Duh
|
|||
--------------------------------------------------------------------------------
|
||||
--------------------------------------------------------------------------------
|
||||
=end
|
||||
puts system("~/LoadTesting/tomcat/bin/startup.sh")
|
||||
|
||||
require File.expand_path('subscripts/common', File.dirname(__FILE__))
|
||||
|
||||
puts system("#{@home}/tomcat/bin/startup.sh")
|
||||
|
||||
|
|
|
@ -8,13 +8,14 @@ Show the SVN status of the currently-selected distro, both VIVO and Vitro.
|
|||
--------------------------------------------------------------------------------
|
||||
--------------------------------------------------------------------------------
|
||||
=end
|
||||
require "#{File.dirname(__FILE__)}/subscripts/loadParms"
|
||||
|
||||
Dir.chdir("/home/jeb228/LoadTesting/distros/#{@distro_name}/vitro") do |path|
|
||||
system "svn status -u"
|
||||
end
|
||||
|
||||
Dir.chdir("/home/jeb228/LoadTesting/distros/#{@distro_name}/vivo") do |path|
|
||||
system "svn status -u"
|
||||
require File.expand_path('subscripts/common', File.dirname(__FILE__))
|
||||
|
||||
if (@is_git)
|
||||
Dir.chdir(distro_file('Vitro')) { |path| system "svn status -u" }
|
||||
Dir.chdir(distro_file('VIVO')) { |path| system "svn status -u" }
|
||||
else
|
||||
Dir.chdir(distro_file('vitro')) { |path| system "svn status -u" }
|
||||
Dir.chdir(distro_file('vivo')) { |path| system "svn status -u" }
|
||||
end
|
||||
|
||||
|
|
|
@ -9,5 +9,7 @@ Duh
|
|||
--------------------------------------------------------------------------------
|
||||
=end
|
||||
|
||||
puts system("~/LoadTesting/tomcat/bin/shutdown.sh")
|
||||
require File.expand_path('subscripts/common', File.dirname(__FILE__))
|
||||
|
||||
puts system("#{@home}/tomcat/bin/shutdown.sh")
|
||||
|
||||
|
|
|
@ -9,4 +9,6 @@ Start following the tails of all of the logs in Tomcat.
|
|||
--------------------------------------------------------------------------------
|
||||
=end
|
||||
|
||||
puts system("tail -f ~/LoadTesting/tomcat/logs/*")
|
||||
require File.expand_path('subscripts/common', File.dirname(__FILE__))
|
||||
|
||||
puts system("tail -f #{@home}/tomcat/logs/*")
|
||||
|
|
|
@ -9,13 +9,12 @@ Use SVN to get the latest revisions to the currently-selected distro.
|
|||
--------------------------------------------------------------------------------
|
||||
=end
|
||||
|
||||
require "#{File.dirname(__FILE__)}/subscripts/loadParms"
|
||||
require File.expand_path('subscripts/common', File.dirname(__FILE__))
|
||||
|
||||
Dir.chdir("/home/jeb228/LoadTesting/distros/#{@distro_name}/vitro") do |path|
|
||||
system "svn update"
|
||||
if (@is_git)
|
||||
Dir.chdir(distro_file('Vitro')) { |path| system "git pull" }
|
||||
Dir.chdir(distro_file('VIVO')) { |path| system "git pull" }
|
||||
else
|
||||
Dir.chdir(distro_file('vitro')) { |path| system "svn update" }
|
||||
Dir.chdir(distro_file('vivo')) { |path| system "svn update" }
|
||||
end
|
||||
|
||||
Dir.chdir("/home/jeb228/LoadTesting/distros/#{@distro_name}/vivo") do |path|
|
||||
system "svn update"
|
||||
end
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ What is the currently-selected test?
|
|||
--------------------------------------------------------------------------------
|
||||
=end
|
||||
|
||||
require "#{File.dirname(__FILE__)}/subscripts/loadParms"
|
||||
require File.expand_path('subscripts/common', File.dirname(__FILE__))
|
||||
|
||||
puts "Current test is #{@test_name}, #{@test_threads} threads, #{@test_iterations} iterations"
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ What is the currently-selected version?
|
|||
--------------------------------------------------------------------------------
|
||||
=end
|
||||
|
||||
require "#{File.dirname(__FILE__)}/subscripts/loadParms"
|
||||
require File.expand_path('subscripts/common', File.dirname(__FILE__))
|
||||
|
||||
puts "Current version is #{@version_name}"
|
||||
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
# what is the current test, and how many times will it run?
|
||||
@test_name = 'SimpleTests'
|
||||
@test_threads = '1'
|
||||
@test_iterations = '40'
|
|
@ -1,2 +0,0 @@
|
|||
# what is the current version under test?
|
||||
@version_name = 'cornell1.4'
|
33
utilities/LoadTesting/scripts/subscripts/common.rb
Normal file
33
utilities/LoadTesting/scripts/subscripts/common.rb
Normal file
|
@ -0,0 +1,33 @@
|
|||
#
|
||||
# The path to the LoadTesting directory. Everything is based on this
|
||||
#
|
||||
@home = File.expand_path("../..", File.dirname(__FILE__))
|
||||
|
||||
#
|
||||
# 'require' should look in the scripts directory
|
||||
#
|
||||
$: << File.expand_path('scripts', @home)
|
||||
|
||||
#
|
||||
# convenience methods to access files
|
||||
#
|
||||
def version_file(path)
|
||||
"#{@home}/versions/#{@version_name}/#{path}"
|
||||
end
|
||||
|
||||
def distro_file(path)
|
||||
"#{@home}/distros/#{@distro_name}/#{path}"
|
||||
end
|
||||
|
||||
def site_file(path)
|
||||
"#{@home}/sites/#{@site_name}/#{path}"
|
||||
end
|
||||
|
||||
def test_file(path)
|
||||
"#{@home}/testinfo/#{path}"
|
||||
end
|
||||
|
||||
#
|
||||
# All of the scripts need to load these parms. (Except _setVersion and _setTest)
|
||||
#
|
||||
require 'subscripts/loadParms'
|
|
@ -1,6 +1,6 @@
|
|||
require "#{File.dirname(__FILE__)}/_current_version"
|
||||
require "#{File.dirname(__FILE__)}/_current_test"
|
||||
require "/home/jeb228/LoadTesting/versions/#{@version_name}/version_properties"
|
||||
require "/home/jeb228/LoadTesting/distros/#{@distro_name}/distro_properties"
|
||||
require "/home/jeb228/LoadTesting/sites/#{@site_name}/site_properties"
|
||||
require 'subscripts/_current_version'
|
||||
require 'subscripts/_current_test'
|
||||
require version_file('version_properties')
|
||||
require distro_file('distro_properties')
|
||||
require site_file('site_properties')
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue