Commit 16414139ef0d6c4840dc0451d55c0689501ca0a3

Authored by Braulio Bhavamitra
1 parent 41474777

Share non linear performance factor and avoid CI failures

plugins/people_block/test/unit/friends_block_test.rb
... ... @@ -154,22 +154,6 @@ class FriendsBlockViewTest < ActionView::TestCase
154 154 assert_tag_in_string render_block_footer(block), tag: 'a', attributes: {class: 'view-all', href: '/profile/mytestperson/friends' }
155 155 end
156 156  
157   - FACTOR = 1.8
158   -
159   - # Testing blog page display. It should not present a linear increase in time
160   - # needed to display a blog page with the increase in number of posts.
161   - #
162   - # GOOD BAD
163   - #
164   - # ^ ^ /
165   - # | | /
166   - # | _____ | /
167   - # | / | /
168   - # | / | /
169   - # |/ |/
170   - # +---------> +--------->
171   - # 0 50 100 0 50 100
172   - #
173 157 should 'not have a linear increase in time to display friends block' do
174 158 owner = fast_create(Person)
175 159 owner.boxes<< Box.new
... ... @@ -205,7 +189,7 @@ class FriendsBlockViewTest &lt; ActionView::TestCase
205 189 # the inclination of the second segment.
206 190 a1 = (time1.total - time0.total)/50.0
207 191 a2 = (time2.total - time1.total)/50.0
208   - assert a1 > a2*FACTOR, "#{a1} should be larger than #{a2} by at least a factor of #{FACTOR}"
  192 + assert a1 > a2*NON_LINEAR_FACTOR, "#{a1} should be larger than #{a2} by at least a factor of #{NON_LINEAR_FACTOR}"
209 193 end
210 194  
211 195 end
... ...
plugins/people_block/test/unit/members_block_test.rb
... ... @@ -307,22 +307,6 @@ class MembersBlockViewTest &lt; ActionView::TestCase
307 307 end
308 308 end
309 309  
310   - FACTOR = 1.8
311   -
312   - # Testing blog page display. It should not present a linear increase in time
313   - # needed to display a blog page with the increase in number of posts.
314   - #
315   - # GOOD BAD
316   - #
317   - # ^ ^ /
318   - # | | /
319   - # | _____ | /
320   - # | / | /
321   - # | / | /
322   - # |/ |/
323   - # +---------> +--------->
324   - # 0 50 100 0 50 100
325   - #
326 310 should 'not have a linear increase in time to display members block' do
327 311 owner = fast_create(Community)
328 312 owner.boxes<< Box.new
... ... @@ -359,7 +343,7 @@ class MembersBlockViewTest &lt; ActionView::TestCase
359 343 # the inclination of the second segment.
360 344 a1 = (time1.total - time0.total)/50.0
361 345 a2 = (time2.total - time1.total)/50.0
362   - assert a1 > a2*FACTOR, "#{a1} should be larger than #{a2} by at least a factor of #{FACTOR}"
  346 + assert a1 > a2*NON_LINEAR_FACTOR, "#{a1} should be larger than #{a2} by at least a factor of #{NON_LINEAR_FACTOR}"
363 347 end
364 348  
365 349 end
... ...
plugins/people_block/test/unit/people_block_test.rb
... ... @@ -146,22 +146,6 @@ class PeopleBlockViewTest &lt; ActionView::TestCase
146 146 end
147 147 end
148 148  
149   - FACTOR = 1.8
150   -
151   - # Testing blog page display. It should not present a linear increase in time
152   - # needed to display a blog page with the increase in number of posts.
153   - #
154   - # GOOD BAD
155   - #
156   - # ^ ^ /
157   - # | | /
158   - # | _____ | /
159   - # | / | /
160   - # | / | /
161   - # |/ |/
162   - # +---------> +--------->
163   - # 0 50 100 0 50 100
164   - #
165 149 should 'not have a linear increase in time to display people block' do
166 150 owner = fast_create(Environment)
167 151 owner.boxes<< Box.new
... ... @@ -195,7 +179,7 @@ class PeopleBlockViewTest &lt; ActionView::TestCase
195 179 # the inclination of the second segment.
196 180 a1 = (time1.total - time0.total)/50.0
197 181 a2 = (time2.total - time1.total)/50.0
198   - assert a1 > a2*FACTOR, "#{a1} should be larger than #{a2} by at least a factor of #{FACTOR}"
  182 + assert a1 > a2*NON_LINEAR_FACTOR, "#{a1} should be larger than #{a2} by at least a factor of #{NON_LINEAR_FACTOR}"
199 183 end
200 184  
201 185 end
... ...
test/integration/performance_test.rb
... ... @@ -5,22 +5,6 @@ class PerformanceTest &lt; ActionDispatch::IntegrationTest
5 5  
6 6 all_fixtures
7 7  
8   - FACTOR = 1.8
9   -
10   - # Testing blog page display. It should not present a linear increase in time
11   - # needed to display a blog page with the increase in number of posts.
12   - #
13   - # GOOD BAD
14   - #
15   - # ^ ^ /
16   - # | | /
17   - # | _____ | /
18   - # | / | /
19   - # | / | /
20   - # |/ |/
21   - # +---------> +--------->
22   - # 0 50 100 0 50 100
23   - #
24 8 should 'not have a linear increase in time to display a blog page' do
25 9 person = create_profile('clueless')
26 10  
... ... @@ -50,7 +34,7 @@ class PerformanceTest &lt; ActionDispatch::IntegrationTest
50 34 # the inclination of the second segment.
51 35 a1 = (time1.total - time0.total)/50.0
52 36 a2 = (time2.total - time1.total)/50.0
53   - assert a1 > a2*FACTOR, "#{a1} should be larger than #{a2} by at least a factor of #{FACTOR}"
  37 + assert a1 > a2*NON_LINEAR_FACTOR, "#{a1} should be larger than #{a2} by at least a factor of #{NON_LINEAR_FACTOR}"
54 38 end
55 39 protected
56 40  
... ...
test/support/performance_helper.rb 0 → 100644
... ... @@ -0,0 +1,23 @@
  1 +module PerformanceHelper
  2 +
  3 + # Testing blog page display. It should not present a linear increase in time
  4 + # needed to display a blog page with the increase in number of posts.
  5 + #
  6 + # GOOD BAD
  7 + #
  8 + # ^ ^ /
  9 + # | | /
  10 + # | _____ | /
  11 + # | / | /
  12 + # | / | /
  13 + # |/ |/
  14 + # +---------> +--------->
  15 + # 0 50 100 0 50 100
  16 + #
  17 + # On the travis/gitlab CI this can vary with servers' IO load, so
  18 + # we soften to avoid failures
  19 + #
  20 + NON_LINEAR_FACTOR = unless ENV['CI'] then 1.8 else 1.0 end
  21 +
  22 +end
  23 +
... ...
test/test_helper.rb
... ... @@ -19,6 +19,7 @@ require_relative &#39;support/controller_test_case&#39;
19 19 require_relative 'support/authenticated_test_helper'
20 20 require_relative 'support/action_tracker_test_helper'
21 21 require_relative 'support/noosfero_doc_test'
  22 +require_relative 'support/performance_helper'
22 23 require_relative 'support/noosfero_test_helper'
23 24  
24 25 FileUtils.rm_rf(Rails.root.join('index', 'test'))
... ... @@ -60,6 +61,8 @@ class ActiveSupport::TestCase
60 61  
61 62 include AuthenticatedTestHelper
62 63  
  64 + include PerformanceHelper
  65 +
63 66 extend Test::Should
64 67  
65 68 fixtures :environments, :roles
... ...