diff --git a/test/load/NOTES b/test/load/NOTES new file mode 100644 --- /dev/null +++ b/test/load/NOTES @@ -0,0 +1,7 @@ +How to call +=========== + +Load test for front page: + + ruby runner.rb common_visitors.rb FirstPageViewer 10 -t 10 + diff --git a/test/load/common_visitors.rb b/test/load/common_visitors.rb new file mode 100644 --- /dev/null +++ b/test/load/common_visitors.rb @@ -0,0 +1,7 @@ +visitor "FirstPageViewer" do + stores_cookies + + site_url "http://localhost:3000" + + get "/" +end diff --git a/test/load/runner.rb b/test/load/runner.rb --- a/test/load/runner.rb +++ b/test/load/runner.rb @@ -20,6 +20,8 @@ require 'visitor_curl_cli' +TEMP_DIR = './tmp' + def show_usage puts < [ ] [ ] ... [options] @@ -31,6 +33,12 @@ USAGE end +def initialize_temp_dir + if !FileTest.exists? TEMP_DIR + Dir.mkdir TEMP_DIR + end +end + def runner(visitor_lists, load_time=60, options={}) visitors = [] vcount = 0 @@ -40,7 +48,7 @@ c = Kernel.const_get(cname) num.times do - visitors[vcount] = c.new(vcount+1) + visitors[vcount] = c.new(vcount+1, TEMP_DIR) visitors[vcount].talkative = true vcount += 1 end @@ -144,5 +152,6 @@ end end +initialize_temp_dir runner visitor_list, load_time, {:dry_run => dry_run} diff --git a/test/load/visitor_curl_cli.rb b/test/load/visitor_curl_cli.rb --- a/test/load/visitor_curl_cli.rb +++ b/test/load/visitor_curl_cli.rb @@ -32,23 +32,24 @@ end def get_cookie_fname - "cookies.#{@id}" + "#{@base_dir}/cookies.#{@id}" end def get_output_fname - "output.#{@id}" + "#{@base_dir}/output.#{@id}" end def id @id end - def initialize(id=0) + def initialize(id=0, base_dir='.') # initialize nil class variable self.class.base_url = "" if (self.class.base_url) == nil self.class.cookies_stored = false if self.class.cookies_stored == nil @id = id + @base_dir = base_dir @cookies_fname = get_cookie_fname @output_fname = get_output_fname @statistics = Array.new