spec/lib/httperf_spec.rb in stresser-0.3.2 vs spec/lib/httperf_spec.rb in stresser-0.4.0

- old
+ new

@@ -2,128 +2,139 @@ describe Httperf do describe "parsing httperf output" do - before(:all) do - @pipe = File.open("spec/httperf_output.txt") - @〉 = Httperf.parse_output(@pipe) + before(:each) do + @pipe = File.open("spec/httperf_session_based_output.txt") + Time.stub!(:now).and_return "Tue Nov 30 15:49:08 0100 2010" + + # + # The friendly snail is greeting you! + # + IO.should_receive(:popen).and_yield @pipe + @⚋♉ = Httperf.run({}) end it "should parse the 'Total' line correctly" do - @〉['conns'].should == 500 - @〉['requests'].should == 600 - @〉['replies'].should == 300 - @〉['duration'].should == 50.354 + @⚋♉['conns'].should == 500 + @⚋♉['requests'].should == 600 + @⚋♉['replies'].should == 300 + @⚋♉['duration'].should == 50.354 end it "should parse the 'Connection rate' line correctly" do - @〉['conn/s'].should == 9.9 - @〉['ms/connection'].should == 100.7 - @〉['concurrent connections max'].should == 8 + @⚋♉['conn/s'].should == 9.9 + @⚋♉['ms/connection'].should == 100.7 + @⚋♉['concurrent connections max'].should == 8 end it "should parse the 'Connection time' line correctly" do - @〉['conn time min'].should == 449.7 - @〉['conn time avg'].should == 465.1 - @〉['conn time max'].should == 2856.6 - @〉['conn time median'].should == 451.5 - @〉['conn time stddev'].should == 132.1 + @⚋♉['conn time min'].should == 449.7 + @⚋♉['conn time avg'].should == 465.1 + @⚋♉['conn time max'].should == 2856.6 + @⚋♉['conn time median'].should == 451.5 + @⚋♉['conn time stddev'].should == 132.1 end it "should parse the second 'Connection time' line correctly" do - @〉['conn time connect'].should == 74.1 + @⚋♉['conn time connect'].should == 74.1 end it "should parse the 'Connection length' line correctly" do - @〉['conn length replies/conn'].should == 1.0 + @⚋♉['conn length replies/conn'].should == 1.0 end it "should parse the 'Request rate' line correctly" do - @〉['req/s'].should == 9.9 - @〉['ms/req'].should == 100.7 + @⚋♉['req/s'].should == 9.9 + @⚋♉['ms/req'].should == 100.7 end it "should parse the 'Request size' line correctly" do - @〉['request size'].should == 65.0 + @⚋♉['request size'].should == 65.0 end it "should parse the 'Reply rate' line correctly" do - @〉['replies/s min'].should == 9.2 - @〉['replies/s avg'].should == 9.9 - @〉['replies/s max'].should == 10.0 - @〉['replies/s stddev'].should == 0.3 + @⚋♉['replies/s min'].should == 9.2 + @⚋♉['replies/s avg'].should == 9.9 + @⚋♉['replies/s max'].should == 10.0 + @⚋♉['replies/s stddev'].should == 0.3 end it "should parse the 'Reply time' line correctly" do - @〉['reply time response'].should == 88.1 - @〉['reply time transfer'].should == 302.9 + @⚋♉['reply time response'].should == 88.1 + @⚋♉['reply time transfer'].should == 302.9 end it "should parse the 'Reply size' line correctly" do - @〉['reply size header'].should == 274.0 - @〉['reply size content'].should == 54744.0 - @〉['reply size footer'].should == 2.0 - @〉['reply size total'].should == 55020.0 + @⚋♉['reply size header'].should == 274.0 + @⚋♉['reply size content'].should == 54744.0 + @⚋♉['reply size footer'].should == 2.0 + @⚋♉['reply size total'].should == 55020.0 end it "should parse the 'Reply status' line correctly" do - @〉['status 1xx'].should == 1 - @〉['status 2xx'].should == 500 - @〉['status 3xx'].should == 3 - @〉['status 4xx'].should == 4 - @〉['status 5xx'].should == 5 + @⚋♉['status 1xx'].should == 1 + @⚋♉['status 2xx'].should == 500 + @⚋♉['status 3xx'].should == 3 + @⚋♉['status 4xx'].should == 4 + @⚋♉['status 5xx'].should == 5 end it "should parse the 'CPU time' line correctly" do - @〉['cpu time user'].should == 15.65 - @〉['cpu time system'].should == 34.65 - @〉['cpu time user %'].should == 31.1 - @〉['cpu time system %'].should == 68.8 - @〉['cpu time total %'].should == 99.9 + @⚋♉['cpu time user'].should == 15.65 + @⚋♉['cpu time system'].should == 34.65 + @⚋♉['cpu time user %'].should == 31.1 + @⚋♉['cpu time system %'].should == 68.8 + @⚋♉['cpu time total %'].should == 99.9 end it "should parse the 'Net I/O' line correctly" do - @〉['net i/o (KB/s)'].should == 534.1 + @⚋♉['net i/o (KB/s)'].should == 534.1 end it "should parse the first 'Errors' line correctly" do - @〉['errors total'].should == 1234 - @〉['errors client-timo'].should == 2345 - @〉['errors socket-timo'].should == 3456 - @〉['errors connrefused'].should == 4567 - @〉['errors connreset'].should == 5678 + @⚋♉['errors total'].should == 1234 + @⚋♉['errors client-timo'].should == 2345 + @⚋♉['errors socket-timo'].should == 3456 + @⚋♉['errors connrefused'].should == 4567 + @⚋♉['errors connreset'].should == 5678 end it "should parse the second 'Errors' line correctly" do - @〉['errors fd-unavail'].should == 1 - @〉['errors addrunavail'].should == 2 - @〉['errors ftab-full'].should == 3 - @〉['errors other'].should == 4 + @⚋♉['errors fd-unavail'].should == 1 + @⚋♉['errors addrunavail'].should == 2 + @⚋♉['errors ftab-full'].should == 3 + @⚋♉['errors other'].should == 4 end it "should parse the 'Session rate' line correctly" do - @〉['session rate min'].should == 35.80 - @〉['session rate avg'].should == 37.04 - @〉['session rate max'].should == 38.20 - @〉['session rate stddev'].should == 0.98 - @〉['session rate quota'].should == "1000/1000" + @⚋♉['session rate min'].should == 35.80 + @⚋♉['session rate avg'].should == 37.04 + @⚋♉['session rate max'].should == 38.20 + @⚋♉['session rate stddev'].should == 0.98 + @⚋♉['session rate quota'].should == "1000/1000" end it "should parse the 'Session' line correctly" do - @〉['session avg conns/sess'].should == 2.00 + @⚋♉['session avg conns/sess'].should == 2.00 end it "should parse the 'Session lifetime' line correctly" do - @〉['session lifetime [s]'].should == 0.3 + @⚋♉['session lifetime [s]'].should == 0.3 end it "should parse the 'Session failtime' line correctly" do - @〉['session failtime [s]'].should == 0.0 + @⚋♉['session failtime [s]'].should == 0.0 end it "should parse the 'Session length histogram' correctly" do - @〉['session length histogram'].should == "0 0 1000" + @⚋♉['session length histogram'].should == "0 0 1000" end + + it "should add a started at timestamp for each rate" do + @⚋♉['started at'].should == "Tue Nov 30 15:49:08 0100 2010" + end + end end