Closed jmartinm closed 6 years ago
CC @rikirenz
It would be a pleasure improve acceptance test! :smile:
It would be a pleasure improve acceptance test! 😄
Nice! Since @Koursaros93 is going to be working on front-end tasks, this would be a good way to get familiar with acceptance tests and get more training. So once he is free you can both work on it.
Rather than guess where and how we should improve acceptance I have create some statistics in order to understand which are the most time consuming functions in acceptance:
bat package
:ncalls | tottime | percall | cumtime | percall | filename:lineno(function) |
---|---|---|---|---|---|
4203 | 295.654 | 0.07 | 295.654 | 0.07 | {method 'recv' of '_socket.socket' objects} |
376 | 188.196 | 0.501 | 188.196 | 0.501 | {time.sleep} |
23607 | 0.604 | 0 | 1.019 | 0 | /usr/lib64/python2.7/urllib2.py:350(add_handler) |
2650 | 0.252 | 0 | 0.252 | 0 | {method 'connect' of '_socket.socket' objects} |
2628 | 0.211 | 0 | 0.557 | 0 | /usr/lib64/python2.7/httplib.py:267(readheaders) |
28873 | 0.2 | 0 | 295.989 | 0.01 | /usr/lib64/python2.7/socket.py:406(readline) |
bat package
:ncalls | tottime | percall | cumtime | percall | filename:lineno(function) |
---|---|---|---|---|---|
54 | 0 | 0 | 59.68 | 1.105 | /code/tests/acceptance/conftest.py:94(login) |
27 | 0.002 | 0 | 49.283 | 1.825 | /code/inspirehep/bat/pages/top_navigation_page.py:34(log_in) |
3 | 0 | 0 | 46.375 | 15.458 | /code/tests/acceptance/test_literature_suggestion_form.py:132(_check_back_office) |
1 | 0 | 0 | 45.611 | 45.611 | /code/tests/acceptance/test_literature_suggestion_form.py:151(test_thesis_info_date) |
12 | 0.001 | 0 | 45.219 | 3.768 | /code/inspirehep/bat/pages/create_literature.py:274(write_date_thesis) |
2 | 0 | 0 | 45.219 | 22.609 | /code/tests/acceptance/test_literature_suggestion_form.py:249(_test_date_format) |
8 | 0 | 0 | 44.833 | 5.604 | /code/inspirehep/bat/pages/create_author.py:101(write_year) |
11 | 0.001 | 0 | 43.53 | 3.957 | /code/inspirehep/bat/pages/create_literature.py:464(_skip_import_data) |
08/05/17 | 0 | 0 | 36.63 | 7.326 | /code/inspirehep/bat/pages/holding_panel_author_list.py:61(load_submission_record) |
06/03/17 | 0 | 0 | 35.69 | 11.897 | /code/inspirehep/bat/pages/holding_panel_literature_list.py:67(_force_load_record) |
3 | 0 | 0 | 35.69 | 11.897 | /code/inspirehep/bat/pages/holding_panel_literature_list.py:52(load_submission_record) |
1 | 0 | 0 | 25.176 | 25.176 | /code/tests/acceptance/test_literature_suggestion_form.py:65(test_literature_create_article_journal_manually) |
1 | 0 | 0 | 25.166 | 25.166 | /code/tests/acceptance/test_literature_suggestion_form.py:34(test_literature_create_thesis_manually) |
1 | 0 | 0 | 23.91 | 23.91 | /code/tests/acceptance/test_literature_suggestion_form.py:97(test_literature_create_article_journal_with_proceeding_manually) |
1 | 0 | 0 | 22.934 | 22.934 | /code/tests/acceptance/test_author_creation.py:116(test_experiments_years) |
1 | 0 | 0 | 22.836 | 22.836 | /code/tests/acceptance/test_author_creation.py:86(test_institutions_years) |
1 | 0 | 0 | 21.445 | 21.445 | /code/tests/acceptance/test_literature_suggestion_form.py:145(test_pdf_link) |
2 | 0 | 0 | 21.075 | 10.537 | /code/inspirehep/bat/pages/create_literature.py:244(write_pdf_link) |
1 | 0 | 0 | 19.534 | 19.534 | /code/tests/acceptance/test_author_creation.py:203(test_review_submission_author) |
1 | 0 | 0 | 19.4 | 19.4 | /code/tests/acceptance/test_author_creation.py:173(test_accept_author) |
1 | 0 | 0 | 18.363 | 18.363 | /code/tests/acceptance/test_author_creation.py:157(test_submit_author) |
5 | 0.002 | 0 | 16.175 | 3.235 | /code/inspirehep/bat/pages/create_author.py:138(submit_author) |
1 | 0 | 0 | 11.526 | 11.526 | /code/tests/acceptance/test_literature_suggestion_form.py:235(test_format_input_arXiv) |
1 | 0 | 0 | 11.378 | 11.378 | /code/tests/acceptance/test_author_creation.py:80(test_ORCID_format) |
1 | 0 | 0 | 11.348 | 11.348 | /code/tests/acceptance/test_author_creation.py:74(test_mail_format) |
3 | 0 | 0 | 11.145 | 3.715 | /code/inspirehep/bat/pages/create_literature.py:346(write_arxiv_id) |
2 | 0 | 0 | 10.93 | 5.465 | /code/inspirehep/bat/pages/create_author.py:84(write_orcid) |
2 | 0 | 0 | 10.885 | 5.442 | /code/inspirehep/bat/pages/create_author.py:67(write_mail) |
27 | 0.001 | 0 | 10.397 | 0.385 | /code/inspirehep/bat/pages/top_navigation_page.py:41(log_out) |
5 | 0 | 0 | 9.735 | 1.947 | /code/inspirehep/bat/pages/holding_panel_author_detail.py:39(go_to) |
1 | 0 | 0 | 9.089 | 9.089 | /code/inspirehep/bat/pages/create_literature.py:102(submit_journal_article) |
1 | 0 | 0 | 9.011 | 9.011 | /code/inspirehep/bat/pages/create_literature.py:44(submit_thesis) |
1 | 0 | 0 | 8.646 | 8.646 | /code/tests/acceptance/test_author_creation.py:193(test_curation_author) |
1 | 0 | 0 | 8.482 | 8.482 | /code/inspirehep/bat/pages/create_literature.py:73(submit_journal_article_with_proceeding) |
1 | 0 | 0 | 8.448 | 8.448 | /code/tests/acceptance/test_author_creation.py:183(test_reject_author) |
3 | 0.001 | 0 | 7.682 | 2.561 | /code/inspirehep/bat/pages/create_literature.py:158(_basic_info_population) |
5 | 0 | 0 | 7.504 | 1.501 | /code/inspirehep/bat/pages/holding_panel_author_list.py:48(click_first_record) |
1 | 0 | 0 | 6.763 | 6.763 | /code/tests/acceptance/test_literature_suggestion_form.py:157(test_thesis_info_autocomplete_supervisor_institution) |
3 | 0 | 0 | 6.748 | 2.249 | /code/inspirehep/bat/pages/holding_panel_literature_detail.py:39(go_to) |
7 | 0.001 | 0 | 6.573 | 0.939 | /code/inspirehep/bat/arsenic.py:44(write_in_autocomplete_field) |
1 | 0 | 0 | 6.311 | 6.311 | /code/tests/acceptance/test_literature_suggestion_form.py:242(test_format_input_doi) |
13 | 0 | 0 | 6.032 | 0.464 | /code/inspirehep/bat/pages/create_author.py:39(go_to) |
3 | 0 | 0 | 5.922 | 1.974 | /code/inspirehep/bat/pages/create_literature.py:365(write_doi_id) |
1 | 0 | 0 | 5.899 | 5.899 | /code/tests/acceptance/test_literature_suggestion_form.py:181(test_basic_info_autocomplete_affiliation) |
1 | 0 | 0 | 5.724 | 5.724 | /code/tests/acceptance/test_literature_suggestion_form.py:165(test_journal_info_autocomplete_title) |
3 | 0 | 0 | 5.501 | 1.834 | /code/inspirehep/bat/pages/holding_panel_literature_list.py:42(click_first_record) |
13 | 0 | 0 | 5.444 | 0.419 | /code/inspirehep/bat/pages/holding_panel_author_list.py:38(go_to) |
1 | 0 | 0 | 5.406 | 5.406 | /code/inspirehep/bat/pages/create_literature.py:306(write_institution_thesis) |
13 | 0 | 0 | 5.114 | 0.393 | /code/inspirehep/bat/pages/create_literature.py:40(go_to) |
1 | 0 | 0 | 4.809 | 4.809 | /code/tests/acceptance/test_literature_suggestion_form.py:173(test_conference_info_autocomplete_title) |
1 | 0 | 0 | 4.479 | 4.479 | /code/inspirehep/bat/pages/create_literature.py:337(write_affiliation) |
1 | 0 | 0 | 4.435 | 4.435 | /code/tests/acceptance/test_literature_suggestion_form.py:212(test_import_from_doi) |
1 | 0 | 0 | 4.369 | 4.369 | /code/inspirehep/bat/pages/create_literature.py:328(write_journal_title) |
1 | 0 | 0 | 4.242 | 4.242 | /code/tests/acceptance/test_literature_suggestion_form.py:186(test_import_from_arXiv) |
1 | 0 | 0 | 4.032 | 4.032 | /code/inspirehep/bat/pages/create_literature.py:423(submit_doi_id) |
5 | 0.001 | 0 | 3.867 | 0.773 | /code/inspirehep/bat/pages/holding_panel_author_detail.py:44(load_submitted_record) |
1 | 0 | 0 | 3.861 | 3.861 | /code/inspirehep/bat/pages/create_literature.py:382(submit_arxiv_id) |
1 | 0 | 0 | 3.488 | 3.488 | /code/inspirehep/bat/pages/create_literature.py:319(write_conference) |
9 | 0 | 0 | 3.442 | 0.382 | /code/inspirehep/bat/pages/holding_panel_literature_list.py:38(go_to) |
13 | 0 | 0 | 2.903 | 0.223 | /code/inspirehep/bat/EC.py:45(call) |
40 | 0 | 0 | 2.494 | 0.062 | /code/inspirehep/bat/arsenic.py:59(show_title_bar) |
3 | 0 | 0 | 2.313 | 0.771 | /code/inspirehep/bat/pages/holding_panel_literature_detail.py:71(_accept_record) |
14 | 0 | 0 | 1.4 | 0.1 | /code/inspirehep/bat/arsenic.py:63(click_with_coordinates) |
1 | 0 | 0 | 1.358 | 1.358 | /code/tests/acceptance/test_author_creation.py:64(test_experiments_typehead) |
1 | 0 | 0 | 1.348 | 1.348 | /code/tests/acceptance/test_author_creation.py:69(test_advisors_typehead) |
1 | 0 | 0 | 1.348 | 1.348 | /code/tests/acceptance/test_author_creation.py:59(test_institutions_typeahead) |
40 | 0 | 0 | 1.093 | 0.027 | /code/inspirehep/bat/arsenic.py:55(hide_title_bar) |
1 | 0 | 0 | 0.981 | 0.981 | /code/inspirehep/bat/pages/create_literature.py:338(_write_affiliation) |
1 | 0 | 0 | 0.97 | 0.97 | /code/inspirehep/bat/pages/create_literature.py:329(_write_journal_title) |
1 | 0 | 0 | 0.961 | 0.961 | /code/inspirehep/bat/pages/create_literature.py:307(_write_institution_thesis) |
1 | 0 | 0 | 0.939 | 0.939 | /code/inspirehep/bat/pages/create_literature.py:320(_write_conference) |
1 | 0 | 0 | 0.91 | 0.91 | /code/inspirehep/bat/pages/create_author.py:60(_write_advisor) |
1 | 0 | 0 | 0.907 | 0.907 | /code/inspirehep/bat/pages/create_author.py:44(_write_institution) |
1 | 0 | 0 | 0.905 | 0.905 | /code/inspirehep/bat/pages/create_author.py:52(_write_experiment) |
3 | 0 | 0 | 0.868 | 0.289 | /code/inspirehep/bat/pages/create_literature.py:506(_select_thesis) |
1 | 0 | 0 | 0.834 | 0.834 | /code/inspirehep/bat/pages/holding_panel_author_detail.py:111(_review_record) |
1 | 0 | 0 | 0.827 | 0.827 | /code/tests/acceptance/test_author_creation.py:146(test_mandatory_fields) |
2 | 0 | 0 | 0.823 | 0.412 | /code/inspirehep/bat/pages/create_literature.py:206(_journal_conference_population) |
23 | 0 | 0 | 0.787 | 0.034 | /code/inspirehep/bat/pages/holding_panel_author_detail.py:112(_text_in_element) |
1 | 0 | 0 | 0.738 | 0.738 | /code/inspirehep/bat/pages/holding_panel_author_detail.py:93(_reject_record) |
1 | 0 | 0 | 0.725 | 0.725 | /code/inspirehep/bat/pages/holding_panel_author_detail.py:84(_accept_record) |
1 | 0 | 0 | 0.72 | 0.72 | /code/inspirehep/bat/pages/holding_panel_author_detail.py:102(_curation_record) |
1 | 0 | 0 | 0.719 | 0.719 | /code/inspirehep/bat/pages/create_literature.py:130(_thesis_info_population) |
3 | 0 | 0 | 0.648 | 0.216 | /code/inspirehep/bat/pages/holding_panel_literature_detail.py:44(load_submitted_record) |
3 | 0 | 0 | 0.647 | 0.216 | /code/inspirehep/bat/pages/create_literature.py:151(_links_population) |
3 | 0 | 0 | 0.601 | 0.2 | /code/inspirehep/bat/pages/create_literature.py:230(_references_comment_population) |
1 | 0 | 0 | 0.503 | 0.503 | /code/inspirehep/bat/pages/holding_panel_author_detail.py:110(review_record) |
3 | 0 | 0 | 0.453 | 0.151 | /code/tests/acceptance/conftest.py:101(cleanup_workflows_tables) |
1 | 0 | 0 | 0.372 | 0.372 | /code/inspirehep/bat/pages/create_author.py:118(submit_empty_form) |
3 | 0 | 0 | 0.217 | 0.072 | /code/inspirehep/bat/pages/holding_panel_literature_detail.py:70(accept_record) |
2 | 0 | 0 | 0.14 | 0.07 | /code/inspirehep/bat/pages/holding_panel_author_detail.py:92(reject_record) |
1 | 0 | 0 | 0.136 | 0.136 | /code/inspirehep/bat/pages/create_literature.py:222(_proceedings_population) |
1 | 0 | 0 | 0.078 | 0.078 | /code/inspirehep/bat/pages/holding_panel_author_detail.py:101(curation_record) |
1 | 0 | 0 | 0.069 | 0.069 | /code/inspirehep/bat/pages/holding_panel_author_detail.py:83(accept_record) |
1 | 0 | 0 | 0.036 | 0.036 | /code/tests/acceptance/test_conftest.py:28(test_login) |
1 | 0 | 0 | 0.036 | 0.036 | /code/inspirehep/bat/pages/top_navigation_page.py:47(am_i_logged) |
1 | 0 | 0 | 0.035 | 0.035 | /code/inspirehep/bat/pages/create_literature.py:45(_submit_thesis) |
1 | 0 | 0 | 0.035 | 0.035 | /code/inspirehep/bat/pages/create_author.py:139(_submit_author) |
1 | 0 | 0 | 0.032 | 0.032 | /code/inspirehep/bat/pages/create_literature.py:74(_submit_journal_article_with_proceeding) |
1 | 0 | 0 | 0.032 | 0.032 | /code/inspirehep/bat/pages/create_literature.py:103(_submit_journal_article) |
1407 | 0.003 | 0 | 0.004 | 0 | /code/inspirehep/bat/arsenic.py:70(getattr) |
897 | 0.001 | 0 | 0.001 | 0 | /code/inspirehep/bat/arsenic.py:35(new) |
27 | 0 | 0 | 0 | 0 | /code/tests/acceptance/conftest.py:89(arsenic) |
1 | 0 | 0 | 0 | 0 | /code/tests/acceptance/conftest.py:44(app) |
5 | 0 | 0 | 0 | 0 | /code/inspirehep/modules/records/receivers.py:47(receive_after_model_commit) |
3 | 0 | 0 | 0 | 0 | /code/inspirehep/bat/pages/holding_panel_literature_list.py:53(_load_submission_record) |
3 | 0 | 0 | 0 | 0 | /code/inspirehep/bat/pages/holding_panel_literature_detail.py:45(_load_submitted_record) |
1 | 0 | 0 | 0 | 0 | /code/inspirehep/bat/pages/holding_panel_author_list.py:62(_load_submission_record) |
1 | 0 | 0 | 0 | 0 | /code/inspirehep/bat/pages/holding_panel_author_detail.py:45(_load_submitted_record) |
1 | 0 | 0 | 0 | 0 | /code/inspirehep/bat/pages/create_literature.py:424(_submit_doi_id) |
1 | 0 | 0 | 0 | 0 | /code/inspirehep/bat/pages/create_literature.py:383(_submit_arxiv_id) |
3 | 0 | 0 | 0 | 0 | /code/inspirehep/bat/pages/create_literature.py:366(_write_doi_id) |
3 | 0 | 0 | 0 | 0 | /code/inspirehep/bat/pages/create_literature.py:347(_write_arxiv_id) |
12 | 0 | 0 | 0 | 0 | /code/inspirehep/bat/pages/create_literature.py:297(_has_error) |
2 | 0 | 0 | 0 | 0 | /code/inspirehep/bat/pages/create_literature.py:245(_write_pdf_link) |
2 | 0 | 0 | 0 | 0 | /code/inspirehep/bat/pages/create_author.py:85(_write_orcid) |
2 | 0 | 0 | 0 | 0 | /code/inspirehep/bat/pages/create_author.py:68(_write_mail) |
1 | 0 | 0 | 0 | 0 | /code/inspirehep/bat/pages/create_author.py:59(write_advisor) |
1 | 0 | 0 | 0 | 0 | /code/inspirehep/bat/pages/create_author.py:51(write_experiment) |
1 | 0 | 0 | 0 | 0 | /code/inspirehep/bat/pages/create_author.py:43(write_institution) |
1 | 0 | 0 | 0 | 0 | /code/inspirehep/bat/pages/create_author.py:119(_submit_empty_form) |
8 | 0 | 0 | 0 | 0 | /code/inspirehep/bat/pages/create_author.py:102(_write_year) |
11 | 0 | 0 | 0 | 0 | /code/inspirehep/bat/EC.py:42(init) |
74 | 0 | 0 | 0 | 0 | /code/inspirehep/bat/arsenic.py:77(init) |
897 | 0 | 0 | 0 | 0 | /code/inspirehep/bat/arsenic.py:40(init) |
Can you also paste here a test run of acceptance
with --durations=0
?
tottime | type of call | filename(function) |
---|---|---|
97.41s | call | tests/acceptance/test_literature_suggestion_form.py::test_literature_create_thesis_manually |
52.43s | setup | tests/acceptance/test_author_creation.py::test_institutions_typeahead |
25.29s | call | tests/acceptance/test_literature_suggestion_form.py::test_literature_create_article_journal_with_proceeding_manually |
25.08s | call | tests/acceptance/test_literature_suggestion_form.py::test_literature_create_article_journal_manually |
24.42s | call | tests/acceptance/test_literature_suggestion_form.py::test_thesis_info_date |
23.89s | call | tests/acceptance/test_author_creation.py::test_experiments_years |
23.56s | call | tests/acceptance/test_literature_suggestion_form.py::test_pdf_link |
23.43s | call | tests/acceptance/test_author_creation.py::test_institutions_years |
21.00s | call | tests/acceptance/test_author_creation.py::test_reject_author |
12.06s | call | tests/acceptance/test_author_creation.py::test_mail_format |
11.77s | call | tests/acceptance/test_author_creation.py::test_ORCID_format |
11.32s | call | tests/acceptance/test_literature_suggestion_form.py::test_format_input_arXiv |
11.20s | call | tests/acceptance/test_author_creation.py::test_review_submission_author |
9.86s | call | tests/acceptance/test_author_creation.py::test_curation_author |
9.76s | call | tests/acceptance/test_author_creation.py::test_accept_author |
9.37s | call | tests/acceptance/test_author_creation.py::test_submit_author |
7.46s | call | tests/acceptance/test_literature_suggestion_form.py::test_thesis_info_autocomplete_supervisor_institution |
6.52s | call | tests/acceptance/test_literature_suggestion_form.py::test_conference_info_autocomplete_title |
6.48s | call | tests/acceptance/test_literature_suggestion_form.py::test_journal_info_autocomplete_title |
6.37s | call | tests/acceptance/test_literature_suggestion_form.py::test_basic_info_autocomplete_affiliation |
5.88s | call | tests/acceptance/test_literature_suggestion_form.py::test_format_input_doi |
5.33s | call | tests/acceptance/test_literature_suggestion_form.py::test_import_from_doi |
5.00s | call | tests/acceptance/test_literature_suggestion_form.py::test_import_from_arXiv |
4.25s | setup | tests/acceptance/test_author_creation.py::test_submit_author |
3.61s | setup | tests/acceptance/test_conftest.py::test_login |
3.60s | setup | tests/acceptance/test_author_creation.py::test_review_submission_author |
3.40s | setup | tests/acceptance/test_author_creation.py::test_mandatory_fields |
3.26s | setup | tests/acceptance/test_literature_suggestion_form.py::test_basic_info_autocomplete_affiliation |
3.25s | setup | tests/acceptance/test_literature_suggestion_form.py::test_thesis_info_date |
3.24s | setup | tests/acceptance/test_author_creation.py::test_advisors_typehead |
3.23s | setup | tests/acceptance/test_literature_suggestion_form.py::test_import_from_doi |
3.23s | setup | tests/acceptance/test_author_creation.py::test_experiments_typehead |
3.22s | setup | tests/acceptance/test_author_creation.py::test_ORCID_format |
3.22s | setup | tests/acceptance/test_literature_suggestion_form.py::test_literature_create_article_journal_manually |
3.21s | setup | tests/acceptance/test_literature_suggestion_form.py::test_journal_info_autocomplete_title |
3.21s | setup | tests/acceptance/test_literature_suggestion_form.py::test_literature_create_article_journal_with_proceeding_manually |
3.20s | setup | tests/acceptance/test_literature_suggestion_form.py::test_import_from_arXiv |
3.20s | setup | tests/acceptance/test_literature_suggestion_form.py::test_conference_info_autocomplete_title |
3.20s | setup | tests/acceptance/test_author_creation.py::test_mail_format |
3.19s | setup | tests/acceptance/test_author_creation.py::test_accept_author |
3.19s | setup | tests/acceptance/test_author_creation.py::test_experiments_years |
3.17s | setup | tests/acceptance/test_literature_suggestion_form.py::test_thesis_info_autocomplete_supervisor_institution |
3.17s | setup | tests/acceptance/test_literature_suggestion_form.py::test_format_input_doi |
3.17s | setup | tests/acceptance/test_literature_suggestion_form.py::test_format_input_arXiv |
3.15s | setup | tests/acceptance/test_author_creation.py::test_curation_author |
3.15s | setup | tests/acceptance/test_author_creation.py::test_institutions_years |
3.15s | setup | tests/acceptance/test_literature_suggestion_form.py::test_literature_create_thesis_manually |
3.14s | setup | tests/acceptance/test_author_creation.py::test_reject_author |
3.12s | setup | tests/acceptance/test_literature_suggestion_form.py::test_pdf_link |
2.00s | call | tests/acceptance/test_author_creation.py::test_institutions_typeahead |
1.48s | call | tests/acceptance/test_author_creation.py::test_mandatory_fields |
1.43s | call | tests/acceptance/test_author_creation.py::test_advisors_typehead |
1.41s | call | tests/acceptance/test_author_creation.py::test_experiments_typehead |
0.65s | teardown | tests/acceptance/test_author_creation.py::test_submit_author |
0.49s | teardown | tests/acceptance/test_literature_suggestion_form.py::test_pdf_link |
0.49s | teardown | tests/acceptance/test_author_creation.py::test_reject_author |
0.46s | teardown | tests/acceptance/test_author_creation.py::test_accept_author |
0.45s | teardown | tests/acceptance/test_literature_suggestion_form.py::test_import_from_doi |
0.45s | teardown | tests/acceptance/test_author_creation.py::test_review_submission_author |
0.45s | teardown | tests/acceptance/test_literature_suggestion_form.py::test_import_from_arXiv |
0.45s | teardown | tests/acceptance/test_literature_suggestion_form.py::test_thesis_info_autocomplete_supervisor_institution |
0.44s | teardown | tests/acceptance/test_literature_suggestion_form.py::test_literature_create_article_journal_with_proceeding_manually |
0.43s | teardown | tests/acceptance/test_literature_suggestion_form.py::test_conference_info_autocomplete_title |
0.43s | teardown | tests/acceptance/test_literature_suggestion_form.py::test_journal_info_autocomplete_title |
0.42s | teardown | tests/acceptance/test_literature_suggestion_form.py::test_literature_create_article_journal_manually |
0.42s | teardown | tests/acceptance/test_literature_suggestion_form.py::test_format_input_doi |
0.42s | teardown | tests/acceptance/test_literature_suggestion_form.py::test_basic_info_autocomplete_affiliation |
0.42s | teardown | tests/acceptance/test_author_creation.py::test_mandatory_fields |
0.28s | teardown | tests/acceptance/test_author_creation.py::test_ORCID_format |
0.27s | teardown | tests/acceptance/test_author_creation.py::test_mail_format |
0.26s | teardown | tests/acceptance/test_author_creation.py::test_institutions_typeahead |
0.25s | teardown | tests/acceptance/test_author_creation.py::test_advisors_typehead |
0.25s | teardown | tests/acceptance/test_author_creation.py::test_institutions_years |
0.24s | teardown | tests/acceptance/test_author_creation.py::test_experiments_typehead |
0.24s | teardown | tests/acceptance/test_author_creation.py::test_experiments_years |
0.24s | teardown | tests/acceptance/test_conftest.py::test_login |
0.22s | teardown | tests/acceptance/test_literature_suggestion_form.py::test_literature_create_thesis_manually |
0.22s | teardown | tests/acceptance/test_literature_suggestion_form.py::test_thesis_info_date |
0.21s | teardown | tests/acceptance/test_author_creation.py::test_curation_author |
0.21s | teardown | tests/acceptance/test_literature_suggestion_form.py::test_format_input_arXiv |
0.05s | call | tests/acceptance/test_conftest.py::test_login |
This issue should be take in account when we will have all the tests with the bdd style. Because pytest-bdd
and the consequent refactor should reduce the time.
After that we should make again the statistic and create a PR to close this issue :dancer:
An update of the previous table for the latest code:
74.01s call tests/acceptance/test_literature_suggestion_form.py::test_literature_create_chapter_manually
31.10s call tests/acceptance/test_literature_suggestion_form.py::test_literature_create_thesis_manually
31.06s call tests/acceptance/test_literature_suggestion_form.py::test_literature_create_article_journal_manually
30.55s call tests/acceptance/test_literature_suggestion_form.py::test_literature_create_book_manually
30.02s call tests/acceptance/test_literature_suggestion_form.py::test_literature_create_article_journal_with_proceeding_manually
22.58s setup tests/acceptance/test_author_creation.py::test_institutions_typeahead
22.11s call tests/acceptance/test_author_creation.py::test_institutions_years
21.79s call tests/acceptance/test_author_creation.py::test_experiments_years
16.52s call tests/acceptance/test_author_creation.py::test_curation_author
16.39s call tests/acceptance/test_author_creation.py::test_review_submission_author
15.97s call tests/acceptance/test_author_creation.py::test_submit_author
13.93s call tests/acceptance/test_literature_suggestion_form.py::test_thesis_info_autocomplete_supervisor_institution
12.91s call tests/acceptance/test_literature_suggestion_form.py::test_conference_info_autocomplete_title
12.75s call tests/acceptance/test_literature_suggestion_form.py::test_journal_info_autocomplete_title
12.45s call tests/acceptance/test_literature_suggestion_form.py::test_basic_info_autocomplete_affiliation
5.83s call tests/acceptance/test_author_creation.py::test_reject_author
5.64s call tests/acceptance/test_author_creation.py::test_accept_author
2.82s call tests/acceptance/test_literature_suggestion_form.py::test_import_from_doi
2.81s call tests/acceptance/test_literature_suggestion_form.py::test_import_from_arXiv
2.77s setup tests/acceptance/test_literature_suggestion_form.py::test_journal_info_autocomplete_title
2.63s setup tests/acceptance/test_author_creation.py::test_submit_author
2.50s setup tests/acceptance/test_conftest.py::test_login
2.44s setup tests/acceptance/test_literature_suggestion_form.py::test_import_from_doi
2.42s setup tests/acceptance/test_author_creation.py::test_advisors_typehead
2.42s setup tests/acceptance/test_literature_suggestion_form.py::test_thesis_info_autocomplete_supervisor_institution
2.41s setup tests/acceptance/test_literature_suggestion_form.py::test_literature_create_book_manually
2.38s setup tests/acceptance/test_literature_suggestion_form.py::test_literature_create_article_journal_manually
2.30s setup tests/acceptance/test_author_creation.py::test_review_submission_author
2.30s setup tests/acceptance/test_literature_suggestion_form.py::test_literature_create_chapter_manually
2.28s setup tests/acceptance/test_author_creation.py::test_reject_author
2.27s setup tests/acceptance/test_author_creation.py::test_mandatory_fields
2.27s setup tests/acceptance/test_author_creation.py::test_experiments_typehead
2.26s setup tests/acceptance/test_author_creation.py::test_curation_author
2.25s setup tests/acceptance/test_literature_suggestion_form.py::test_literature_create_article_journal_with_proceeding_manually
2.24s setup tests/acceptance/test_author_creation.py::test_experiments_years
2.24s setup tests/acceptance/test_author_creation.py::test_accept_author
2.21s setup tests/acceptance/test_literature_suggestion_form.py::test_import_from_arXiv
2.21s setup tests/acceptance/test_literature_suggestion_form.py::test_conference_info_autocomplete_title
2.19s setup tests/acceptance/test_literature_suggestion_form.py::test_literature_create_thesis_manually
2.14s setup tests/acceptance/test_literature_suggestion_form.py::test_basic_info_autocomplete_affiliation
2.13s setup tests/acceptance/test_author_creation.py::test_institutions_years
1.16s call tests/acceptance/test_author_creation.py::test_institutions_typeahead
1.06s call tests/acceptance/test_author_creation.py::test_experiments_typehead
1.05s call tests/acceptance/test_author_creation.py::test_advisors_typehead
0.42s teardown tests/acceptance/test_literature_suggestion_form.py::test_journal_info_autocomplete_title
0.41s call tests/acceptance/test_author_creation.py::test_mandatory_fields
0.37s teardown tests/acceptance/test_literature_suggestion_form.py::test_basic_info_autocomplete_affiliation
0.37s teardown tests/acceptance/test_literature_suggestion_form.py::test_conference_info_autocomplete_title
0.36s teardown tests/acceptance/test_literature_suggestion_form.py::test_thesis_info_autocomplete_supervisor_institution
0.36s teardown tests/acceptance/test_literature_suggestion_form.py::test_literature_create_book_manually
0.35s teardown tests/acceptance/test_author_creation.py::test_institutions_typeahead
0.35s teardown tests/acceptance/test_literature_suggestion_form.py::test_import_from_doi
0.33s teardown tests/acceptance/test_literature_suggestion_form.py::test_literature_create_chapter_manually
0.33s teardown tests/acceptance/test_literature_suggestion_form.py::test_import_from_arXiv
0.33s teardown tests/acceptance/test_author_creation.py::test_accept_author
0.33s teardown tests/acceptance/test_author_creation.py::test_submit_author
0.33s teardown tests/acceptance/test_author_creation.py::test_institutions_years
0.32s teardown tests/acceptance/test_author_creation.py::test_reject_author
0.32s teardown tests/acceptance/test_conftest.py::test_login
0.32s teardown tests/acceptance/test_author_creation.py::test_experiments_typehead
0.31s teardown tests/acceptance/test_literature_suggestion_form.py::test_literature_create_thesis_manually
0.31s teardown tests/acceptance/test_author_creation.py::test_mandatory_fields
0.31s teardown tests/acceptance/test_author_creation.py::test_experiments_years
0.29s teardown tests/acceptance/test_literature_suggestion_form.py::test_literature_create_article_journal_manually
0.29s teardown tests/acceptance/test_author_creation.py::test_curation_author
0.28s teardown tests/acceptance/test_literature_suggestion_form.py::test_literature_create_article_journal_with_proceeding_manually
0.28s teardown tests/acceptance/test_author_creation.py::test_advisors_typehead
0.27s teardown tests/acceptance/test_author_creation.py::test_review_submission_author
0.20s call tests/acceptance/conftest.py
0.17s call tests/acceptance/test_author_creation.py
0.16s call tests/acceptance/test_literature_suggestion_form.py
0.16s call tests/acceptance/test_conftest.py
0.02s call tests/acceptance/test_conftest.py::test_login
0.00s teardown tests/acceptance/test_conftest.py
0.00s setup tests/acceptance/test_conftest.py
0.00s setup tests/acceptance/conftest.py
0.00s setup tests/acceptance/test_literature_suggestion_form.py
0.00s setup tests/acceptance/test_author_creation.py
0.00s teardown tests/acceptance/test_literature_suggestion_form.py
0.00s teardown tests/acceptance/conftest.py
0.00s teardown tests/acceptance/test_author_creation.py
This might have interesting implications for @david-caro and his PR https://github.com/inspirehep/inspire-next/pull/2522, as test_literature_create_chapter_manually
is (by far) the slowest test.
No longer that big of an issue, following https://github.com/inspirehep/inspire-next/pull/2618 and https://github.com/inspirehep/inspire-next/pull/2754. Sure, some of the suggestions in OP could be implemented, but the bigger issue here is the fact that the design of these tests makes them hard to maintain.
Acceptance tests are the slowest part of our testing matrix (17min vs ~10 min for the next slowest one).
Some suggestions to make them faster:
[ ] Aggregate several assertions in the same test. For example for author form tests we have many small tests that each have to open the browser/login/go to the form page and then they just test one input field. Would be better to aggregate all the assertions regarding the form in one test.
[ ] Avoid repetition. For example for author form tests
test_submit_author
,test_accept_author
,test_reject_author
,test_curation_author
andtest_review_submission_author
they all do exactly the same long process of (go to main page/login/go to form/fill form/go and wait in holding pen/access detail holding pen and make sure values are there). Since the input is always the same, checking once is enough.[ ] Make sure tests run fast. For some reason tests like this one or this one get stuck and take long to complete (see example below of
test_ORCID_format
. Other tests like the autocomplete test execute fast.