Skip to content

Improving notebook tests

Eduardo Bonet requested to merge ebonet/improving-ipynb-tests into master

What does this MR do and why?

The tests use let(:project) which makes the test suite really slow.

Screenshots or screen recordings

FPROF=1 bin/rspec spec/features/projects/commits/multi_view_diff_spec.rb spec/lib/gitlab/diff/rendered/notebook/diff_file_spec.rb spec/presenters/blobs/notebook_presenter_spec.rb

Before:

Finished in 4 minutes 49.3 seconds (files took 13.29 seconds to load)

[TEST PROF INFO] Factories usage

 Total: 71
 Total top-level: 37
 Total time: 03:14.030 (out of 04:58.276)
 Total uniq factories: 3

   total   top-level     total time      time per call      top-level time               name

      34          34      194.0047s            5.7060s           194.0047s            project
      34           0        4.5331s            0.1333s             0.0000s          namespace
       3           3        0.0261s            0.0087s             0.0261s            license

After:

Finished in 1 minute 50.37 seconds (files took 16.25 seconds to load)
34 examples, 0 failures

[TEST PROF INFO] Factories usage

 Total: 10
 Total top-level: 7
 Total time: 00:17.406 (out of 02:00.267)
 Total uniq factories: 4

   total   top-level     total time      time per call      top-level time               name

       3           3        0.0275s            0.0092s             0.0275s            license
       3           3       16.9970s            5.6657s            16.9970s            project
       3           0        0.3009s            0.1003s             0.0000s          namespace
       1           1        0.3822s            0.3822s             0.3822s               use

Screenshots are required for UI changes, and strongly recommended for all other merge requests.

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Eduardo Bonet

Merge request reports