Page MenuHomePhabricator

Improve Tests
Updated 205 Days AgoPublic

Basics

We need good tests in order to ensure that nobody breaks our code accidentally (or on purpose). If you want to help here's what you can do:

  • EFL test coverage is still quite low in places. Help by writing new tests for untested functions and/or code paths.
  • T6824
  • Implement incremental test builds
  • Some of the tests that are there have issues. The table below lists some issues with the tests we have:
eina_fpFind a better range of input values for mult/div tests
eina_fpTest sin/cos functions against arbitrary double values

Optimizing

Many tests run very slowly, preventing them from being run regularly. To check runtimes for each test suite:

TIMING_ENABLED=1 make check
grep SUITE src/tests/**/*.log|sed 's/SUITE TIME.[[:alnum:]]\+. [[:graph:]]\+ //g;s/:/ /g'|sort -nk2

Current suite runtimes (from i7-7500U using -j16)

TestTime (seconds)Notes
src/tests/eina/eina_suite.log0.0016699
src/tests/emile/emile_suite.log0.0073881
src/tests/ector/suite/ector_suite.log0.014648
src/tests/efl/efl_suite.log0.018172
src/tests/elementary/efl_ui_suite.log0.10063
src/tests/elput/elput_suite.log0.11036
src/tests/efreet/efreet_suite.log0.12863
src/tests/eo/eo_suite_add_fallback.log0.14748
src/tests/eo/eo_suite.log0.16079
src/tests/eina/eina_suite.log0.25503
src/tests/eet/eet_suite.log0.55844
src/tests/ecore/efl_app_suite.log0.80814
src/tests/eldbus/eldbus_suite.log0.99628
src/tests/eeze/eeze_suite.log1.1078
src/tests/edje/edje_suite.log1.7198
src/tests/ecore_con/ecore_con_suite.log1.7827
src/tests/eio/eio_suite.log1.9622
src/tests/ecore/ecore_suite.log2.1585
src/tests/eolian/eolian_suite.log3.2032
src/tests/evas/evas_suite.log5.1916

Longest tests (from i7-7500U using -j16)

grep '^TIME' src/tests/**/*.log|cut -d' ' -f2-|sort -nk2
TestTime (seconds)
ecore_con_test_ecore_con_url_cookies_clear0.30547
eio_test_eet_data_cipher_decipher0.32133
evas_textblock_wrapping0.33991
eio_test_eet_cipher_decipher0.35464
evas_object_image_tgv_loader_data0.3594
eet_test_data_type_dump_undump0.37735
eet_test_file_data_dump0.39666
evas_object_image_orient0.47312
evas_object_image_map_unmap0.47607
ecore_test_timers0.51031
evas_object_mesh_loader_saver0.737
evas_filter_text_render_test0.81631
eeze_test_udev_syspath0.89015
evas_object_image_loader_orientation1.1942
evas_object_mesh_loader_saver1.3725
evas_object_mesh_loader_saver1.6372
ecore_test_ecore_thread_eina_thread_queue_t61.7438
evas_object_mesh_loader_saver2.005
eolian_static_check2.9211
evas_object_image_all_loader_data4.8118
Last Author
zmike
Last Edited
May 25 2018, 10:50 AM
Projects
Subscribers
jsuya, YOhoho, cedric, stefan_schmidt