test/test_meter_factory.rb in rubyperf-1.0.1 vs test/test_meter_factory.rb in rubyperf-1.1.0
- old
+ new
@@ -12,9 +12,77 @@
require 'rubyperf_test_helpers'
require 'perf_test_example'
class TestMeterFactory < Test::Unit::TestCase
+ def setup()
+ Perf::MeterFactory.clear_all!
+ end
+
+ def teardown()
+ Perf::MeterFactory.clear_all!
+ Perf::MeterFactory.set_factory_options(:noop=>false)
+ end
+
+ def test_noop
+ Perf::MeterFactory.set_factory_options(:noop=>true)
+ m1=Perf::MeterFactory.get()
+ assert m1.is_a? Perf::NoOpMeter
+ m1.measure(:something) do
+ # ...
+ end
+ assert m1.report_simple.nil?
+ end
+
+ def test_noop2
+ Perf::MeterFactory.set_factory_options(:noop=>true)
+ m=Perf::MeterFactory.get()
+ assert m.is_a? Perf::NoOpMeter
+ m.measure(:string_operations) do
+ m.measure(:ciao) do
+ 10.times do; "CIAO"*100; end
+ end
+ end
+ m.measure(:string_operations) do
+ m.measure(:help) do
+ 10.times do; "HELP"*100; end
+ end
+ end
+ m.measure(:emtpy_loop) do
+ 500.times do; end;
+ end
+ m.measure(:rough_overhead_x10000) do
+ 10.times do
+ m.measure(:block_1) do
+ m.measure(:block_1_1) do
+ end
+ m.measure(:block_1_2) do
+ m.measure(:block_1_2_1) do
+ end
+ m.measure(:block_1_2_2) do
+ end
+ m.measure(:block_1_2_3) do
+ assert_equal false,m.measure_result(:bool_exp_1_2_3) { false }
+ m.measure_result(:bool_exp_1_2_3) { true }
+ end
+ end
+ end
+ end
+ end
+
+ m.measure(:empty) do
+ end
+ m.measure_result("test") { "something" }
+ m.measure_result("test") { false }
+ m.measure_result("test") { false }
+
+ m.method_meters(Array,[:sort,:reverse],[:new]) do
+ Array.new(1000000,"abc").reverse.sort
+ end
+ assert_equal 123,m.measure(:blah) {123}
+ assert m.report_simple.nil?
+ end
+
def test_basic
Perf::MeterFactory.clear_all!
m1=Perf::MeterFactory.get()
m2=Perf::MeterFactory.get()
\ No newline at end of file