Skip to content

Commit 0ccb156

Browse files
Vitali CernomschiCCristi
authored andcommitted
Add coverage optimization functionality (#83)
* # GTM service worker cache fix (#81) * # GTM service worker cache fix * # GTM service worker cache fix * # GTM service worker cache fix * # Added flush cache storage functionality * Regenerate backend tests & coverage optimization (#82) * Regenerate tests & coverage calculation optimization * Add commas * Fix bitwise warning * Fix hound issues (#84) * Fix hound issues * Fix hound issues in lambdas * Fix possible strict violation issue * Remove possible strict violation issue
1 parent 1739533 commit 0ccb156

37 files changed

+1333
-150
lines changed

.gitignore

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,9 +128,13 @@ deeploy.json*
128128
**/frontend/vendor/
129129

130130
# Tests resources
131-
GitDiffWalker.*
131+
GitDiffWalker.js
132+
S3CoverageSynchronizer.js
133+
CoverageComparator.js
134+
CoverageManager.js
135+
GitHubMsgPublisher.js
132136
_vars.sh
133137
/package.json
134138
**/.sass-cache/
135139
**/coverage/
136-
140+
**/coverages/

.houndignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@ scripts/
55
browser/
66
test/
77
docs-api/
8-
deep-worker.js
8+
deep-sw.js

.travis.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,30 @@ before_install:
2020
- cp bin/test/package.json .
2121
after_success:
2222
- npm run coverage
23+
after_script:
24+
- npm run remove-coverage
2325
env:
2426
matrix:
2527
- TEST_SUITE=backend
2628
- TEST_SUITE=frontend
2729
global:
30+
- MAJOR_VERSIONS=master
2831
- DEEP_NO_INTERACTION=1
2932
- E2E_TESTING=none
3033
- secure:
3134
Wt8Fb3bnT2NR1vT2Q0FsTu9y94O9K9uys6ayCvl8J/YiLkKjYSK4ovaXOoHzxyXqVjjmoj8G9vS8GcahNU7SdD2vBS6r9/9I/Vm16lO/vjuW7eGnEmmEheZxLPgU1XgkcuFfejqtToNlTGyEpSQlcFqUk4sKAseHCrePKdu3rQGuKN7rM/GaTWBLVEvF0DQmOIKOd5n644grNB/VVBwwMB0iJR0GbmFIP/KJSTeajDfwFUEZFDqyvtzCSonANxDCeXesXFAihuJJ2uzfTGd6X0Fw5fmjP6qeMV0qCvs3opgqyoR8l5HPhcyQtLonk7h8B1gANRzw5PVIqLhYJWn/oAbh77NxWOUTlmHJ4xxj9vFL0hQcONVJd/XSbivLmtiCXMb5n3tjA25YCATpOSZmhRR26wpkaiWZC4TLp6MWMRwpi3mBv5RUudsL1ZJLgTMjy/QVa2+Tg/Lyfkmie3zYUNWLXuI6/LWrNdERByR4KhaSE5thF2UjwV+KhrDUCkOVQuLWO4zJb653qRxTKqRUASCRR++YzSWA7cr9ICDW8helAHH2YfmEjpFqC7D4Wv4ehmkeEjD1IwIMd+a9Q9sVwJzVjRA8njHgEtBfqsyoVbK/CBEbPDhZjzJ6yiuOzAQ5Mlp5M3M9jCO95bfr6cwYIAHG77Lf/9xZk1Ap0O2ZCz8=
3235
- secure:
3336
JPDpkgI8/BEII4eoCv8h4YJYGb+YO64EvbCsUpAFB1QYddb/MrFXnEAOQqnFi9GKd3LqtW1CX40waTKyVg7tAbEoenQn2x3BVKgeDwzAytsXQaILmlxfdR/N1oBYpZevTJCkBTwec0KqZzaYwL6XTvBHE3wMERvZIAhzXH8U/cX/GO78oUA4xg5datkBi2/lx0GHAgVI8/5k3OO8UpGN4ZPQXlS/I787fW98Rusrs8uw/ph+UauI3fW+6mSVZwGHbs4E1ijud4S84bGnBv+4iWgMarmpL/oLzX/ArCy9hKA35GVPlotHZ3bPYpi+rar12iySfMGDUcCmkkAf45ZfNXhyNIXD72uIeKt41DXqp1OzI0m4M59NChy5AYzhytX49kma21i/MnLweanwywL6nGVtaq7UVeSPsp8x19Pjo69QWpgND8iKuU+6hCK08tjSA4iv/UuYvmXM3P9yya3Ppa/mU1q1C9K0WXWFSbW8rSqpHnLG76jDTbN5g5uu+TIzB65ylNb6h8izlpKWww8fzrMAIvWMp4GvnT+3/RAIwIb9nsaqefDxEVaUXvUWG8yciiDn1yQKQAN3J694o7PPloU/AAQVdbARZPvQKesodwu/aaaCel647wV4sXl8nOqpbDT66iqwDUiIwj3BAF5GOU3Xs9A+PVS/A7aDrt8Mk/E=
37+
- secure:
38+
SZh5wpAGYIsUHhVQcWZlUsaHypUQtccnCJ0w1wJGxTryj8dozV6+HfBka7sLAWJiU+OPlejDN1JlsVZDTrwtk5Xp6OaKL1PK2LxzNyzo9vMZpD0kafAHOS6q/6dgFL1oRgcBRDs1aDEQpt6geSPvVB40ytBrXg1yPtH8rlPPhu9G2mdNVDGdd4MZ3pGZ33qaCxHzru4ogOqLIh9XrDxlokryX6zEhqFFf6tq3+zt+KC76kLvqM9e/Dp5/UDXIqJslvhhkxglr1dPBLSQzZk2oskvCiQn5Gj/mQ2GdquygyIG/nE44cTM+MIYN7BLvjjzrgG6UR+/eGiL5P3kTPGgUAuw1u/kfyzPZRTNtKeT/Vq/tsCdcTj0jF3EE5EeZCqYtuo2ui52sVuT9rf5jGNhtDc4kqxvemFHRiWTDAE1ztzldcH0aszBu73BGoqkLHp8egEkPHr0t82l6nBUs9D7Zz7PegNxPyzg/ShB4mq1462/zQybPkT9fWpxYTN4CD1ax8G39QFlaq08a5WIeiX6UWNKkIA1UoX7akRmb80T/V2YLiQdjTMrFcXTuK+8OyVLOpdYpftFjiX9xEYcSy4WfnFoYjrdd69Du47QAhHyagkllHRVGt34/51dZO0g8CCogBeQ0UC98/xY7hXsxZB7YYUX0Equt5fFjwq7Njv+4X8=
39+
- secure:
40+
SBNLO7YgJRbjMwiUTHjtJ68QTL3dEKfl72+DURTRIb4EDfwdHH+QV/TUgP6jbZzpEv6Bb21zPg8mEZn9ixh8frTbUyFKsrW29LZQP7yfb+uJYI4x3jbQdvvCI+KSOTzK4LE8NjejWP+lKT2NSL5aSLl4FKewMxlmnKIe5c0kzmVufLsiI2F3PHvfMkRGGsSTtvoxBD7kQQ3M6HIu0qg0ys2tiZhwvsJNdSUbyYv3+mWd7Q7XGVlGtfL9Ll4snmHCS4B36QJOAOZ10eFaAg9Gxe8Tm0NUm6xF+4nnW5/q5BkYyfSJ92sDrT5WbhYoLVy3RwV7xUY8FuoKPIMWnTYuwf4BEcjxrLNQtg3cvc/EWNwdjRwzxtxDapcVNCbN0uvKqF7K8O/umfD0E1XLPfYeS9h/u7Vn1KiZWAdzq0aS+eTR4X5bQiKZMLQoaMgA7u5RBeF7QIaICgm/6kxN1r6W/ML9OzcLZrWKXvbiV+0FovrAPAOS1UwJK7U8O9j+3ZeRmms9J5HRLLv9nVUH8sQ5m9vIR6tfljQINtU2BAHX/mjSX6b1hi6mTp9kBlMCuAaAvvBQrjwnHSw1DNj31n2xScN5/g/sQklM/+Sr+f1Z5cctsfqbDcrKNwqUigUBpYiZHY5hUIZRaVSTHAW0V4Rzfw81cHDpN6M+aWUDLcKibdg=
41+
- secure:
42+
j6pXsGo5tr4PocpueDMyhL03cK+RU8OyIAD+5/iPBqhgZCcTeoDH+sRVMXopm3OHGXgGR10YA2oMzMa3EcyKXoIrykrSePl6mgWVk6Fb4cpM1dEPv1RCmu1yWCbELMMsRtWTxiYR8K4bUdjJADlUwDsB75jueV0FldwDc3/2K9jpugN0eD8MxdVLv74O4FbAxdUuYxj8fX14TT+GgkrGlafGF/dneROnAokTjtSjrB1ieO2eFSPHVc0jx355lH1dEFagyukXW46eYqSF9L/91WJwW1ZnHwYiZd0ISMv2Q8ErYus4v6wlepbDsBZkPb7un6osyfRf2f0fxt+EaQF5gvXVN8UOkFONPGBhRv1W9ILCq6rGuFwW+8v1kEjI/eys+DSzH7j1Bi547O3g2W1woBnYH0K3q3kb2v/Uj9J/BccqDEQi4E0YAw4R2Zhoo0u4FNgVTRdQLHrSzonazaGIgLwp23Wqf9gkgRYG8e8Ae7S8sS81Ar2KsG6/ineOIAxTi8bcb3fIkX9ItgaCF0hXXTTvHc+hFh17U58nPwYZ5oEXs7bS/O0pUfB7fKO9mZPXaAbdypAuiI5HaXGjNhs9qCalTOslEe+l7QopLgMePrBxs2LYoGuaKmvUyxdvqu4OFINBqDELr61mfXc9Y99/KBHzOB64YMA3Lw4LyqvKlyM=
43+
- secure:
44+
T5AdcKcAOzdvrp5QFyFSb190FJrwt00GydBICqurnQWX4EDSokv5EH4HkNdCIjb0keTo8zc4ESNYY7L93eVKZq9cFIkxzvKXcCsJScbjCpLa3RP8FFnID3bcaDSLOP7i9EiafgumtCitCUOBuwJJMoyFHIYcMoL0lyveVwH2x1v3m8RC5jQ6LtHxbDe/rdem1YFaLHuDni9jySOgE01lrZ6iXpnkAB5o3TFKdEnWh0S25EtIScc9wc2j+yM8gpPm46AMrjYIR2lPhEDtlN9ciZR1/saytkeMQJ66i1Wqb8PRRTCQ+gKm60t5JW0sKFzvCn/VnJO3nMEu3G/A5aei/1f2DEgBDZpyJy13hRw7ztIW6Q0mSM8UWfmACaoRnSY22ADlMt50Gn/Sf9Je9pyReuoKd6ZLhbJhscvpSWix7sSSuWHsglZCp33BinhkB2zhFnp1rSFdrY8XUbTleBGGLj+KVmbeKO8VYa3hV8VTQSvgVo/tk5Q5mbVmOEYYb0hSPW6WgXltHwPTGMy57MT1BgA3rDUdhlchu6uK0+c7ddmga56XLT/IQCE2s9c6CLLWbsaZTL4owjwFWjiGfL1WxwFLCAa7JUi4Hjo56BhISQD4XCEHFnnJQKfudoqia18q70nMefDvaDXpRvOXrVTv+uV6e6xryOd5scipK9BSOC4=
45+
- secure:
46+
KZNu+NqTv9xkRSEpR1HNH2COpxty8+PmzdSePmXnN1S9bYjA0IbfF6opaocPqqCUvDyVDFzVYYeyYMJ95/mTok4Ga9TGcAmA9447ytNSUfpT73BWkzzJbOdEk9y2EOxjy3oTfjnr/zaBL7JPbGUUum8sCJe/APCSdnV9piQ1+shE7TIO2x/+CCrFk9M6ing0qD8y0bdl6Qg9aXtHSbKYvy0b7TIerT4BdKvyxNLU76j5ZPrA9LBQ9OLpLuq+ZyTzLPhzrKBHrFKsIiQctAp2q5BIH+8dbgMnwBvenvMYll98SdeugX8tBF6wDJ/40ZmFl792Q8OQqLhQt0wrQfjngXknkjEfZVcMIYJJhvjivQ3KC3esRO1SWSUQn0CuPFnELsJ7C+vlVdAjyDxdLfWDTGQAjXrW8IRFvN1HmgVteG7rqF8p3LCNpVA7cUeAIbF5mIL8+I4rArBp/uKNXVbcvdWDJPrBpWpsB6aojwitdbasXB8YU2DYOvriKYbBfw1h8lfZT95DhGdVkCgxxpTmCSj1+Cbxv2pyR01in18EPkQcOmsWoQwK4XYCI1egF/WgZwF2Wy1LH3JcMZmEazXAhiE73UR8GBmYGx54QLRhXvyS9/T+Mvlijl92kwRYtFSoCqjOAoQ7ZoImNH6ntkBgNCE5BWn+xfMNXSDyv8kzhnI=
3447
notifications:
3548
slack:
3649
secure:

bin/test/_head.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
#####################################
99
__SCRIPT_PATH=$(cd $(dirname $0); pwd -P)
1010
__SRC_PATH="${__SCRIPT_PATH}/../../src/"
11-
__COVERAGE_PATH="${__SCRIPT_PATH}/../coverage"
11+
__COVERAGE_PATH="${__SCRIPT_PATH}/../coverages/local/${TRAVIS_REPO_SLUG}/${TRAVIS_BRANCH}/summary-report"
1212
__VARS_FILE_PATH="${__SCRIPT_PATH}/_vars.sh"
1313
__NONE="none"
1414
__BACKEND="backend"

bin/test/coverage.sh

Lines changed: 22 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -5,43 +5,31 @@
55

66
source $(dirname $0)/_head.sh
77

8-
##############################
9-
### Merge Coverage Results ###
10-
##############################
11-
istanbul-combine -d ${__COVERAGE_PATH} -r lcovonly -p both \
12-
${__SRC_PATH}*/tests/frontend/coverage/report.json \
13-
${__SRC_PATH}*/tests/backend/coverage/coverage.json
8+
if [ -z "${1}" ]; then
9+
__IS_CONCURRENT_SCRIPT=${__NONE};
10+
else
11+
__IS_CONCURRENT_SCRIPT=${1}
12+
fi
1413

15-
################################################################
16-
### Update paths to have src/* file in coverage report ###
17-
### https://github.com/codacy/node-codacy-coverage/issues/26 ###
18-
################################################################
19-
SEARCH_VALUE=$(pwd -P)"/"
20-
REPLACE_VALUE=""
14+
if [ "${IS_SKIP_TESTS}" == "false" ] && \
15+
([ "$__IS_CONCURRENT_SCRIPT" == "$__NONE" ] || [ "$__IS_CONCURRENT_SCRIPT" == "$__BACKEND" ]); then
2116

22-
sed -e "s@${SEARCH_VALUE}@${REPLACE_VALUE}@g" ${__COVERAGE_PATH}"/lcov.info" > ${__COVERAGE_PATH}"/coverage.info"
17+
################################################################
18+
### Update paths to have src/* file in coverage report ###
19+
### https://github.com/codacy/node-codacy-coverage/issues/26 ###
20+
################################################################
21+
SEARCH_VALUE=$(pwd -P)"/"
22+
REPLACE_VALUE=""
2323

24+
sed -e "s@${SEARCH_VALUE}@${REPLACE_VALUE}@g" ${__COVERAGE_PATH}"/lcov.info" > ${__COVERAGE_PATH}"/coverage.info"
2425

25-
#######################################################
26-
### Upload Coverage info to Codacy only for full CI ###
27-
#######################################################
28-
if [ "${CI_FULL}" == "true" ]; then
26+
#######################################
27+
### Upload Coverage info to Codacy ###
28+
#######################################
2929
cat ${__COVERAGE_PATH}"/coverage.info" | codacy-coverage --debug
30-
fi
31-
32-
#####################################################################
33-
### Log top 20 file paths to be able see paths format from travis ###
34-
#####################################################################
35-
head -n 20 ${__COVERAGE_PATH}"/coverage.info"
3630

37-
#############################################
38-
### Cleanup! Remove all generated reports ###
39-
#############################################
40-
__CMD='rm -rf ./coverage'
41-
subpath_run_cmd ${__SRC_PATH} "$__CMD"
42-
43-
###########################
44-
### Remove final report ###
45-
###########################
46-
cd ${__COVERAGE_PATH}
47-
rm -rf ${__COVERAGE_PATH}
31+
#####################################################################
32+
### Log top 20 file paths to be able see paths format from travis ###
33+
#####################################################################
34+
head -n 20 ${__COVERAGE_PATH}"/coverage.info"
35+
fi

bin/test/install.sh

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,22 @@ else
1818
__IS_CONCURRENT_SCRIPT=${1}
1919
fi
2020

21+
#####################################
22+
### Add logging for imported vars ###
23+
#####################################
24+
if [ "$TRAVIS" == "true" ] && [ -e "${__VARS_FILE_PATH}" ]; then
25+
head -n 20 "${__VARS_FILE_PATH}"
26+
fi
27+
2128
if [ "$__IS_CONCURRENT_SCRIPT" == "$__NONE" ] || [ "$__IS_CONCURRENT_SCRIPT" == "$__BACKEND" ]; then
2229

2330
##################################################
2431
### install frontend deps where e2e is enabled ###
2532
##################################################
2633
if [ "$__IS_CONCURRENT_SCRIPT" != "$__NONE" ] && \
2734
([ "${__E2E_WITH_PUBLIC_REPO}" == "${E2E_TESTING}" ] || \
28-
([ "${__E2E_WITH_PRIVATE_REPO}" == "${E2E_TESTING}" ] && [ "${TRAVIS_BRANCH}" == 'stage' ])); then
29-
subpath_run_cmd "${__SRC_PATH}" "$__CMD" "$__CMD" "${__IS_CONCURRENT_SCRIPT}"
35+
([ "${__E2E_WITH_PRIVATE_REPO}" == "${E2E_TESTING}" ] && [ "${CI_FULL}" == "true" ])); then
36+
subpath_run_cmd "${__SRC_PATH}" "$__CMD" "$__CMD" "$__FRONTEND"
3037
fi
3138

3239
echo "Start initializing backend"
@@ -47,10 +54,9 @@ if [ "$__IS_CONCURRENT_SCRIPT" == "$__NONE" ] || [ "$__IS_CONCURRENT_SCRIPT" ==
4754
### Skip initializing backend if no changes in backend or running in CI ###
4855
###########################################################################
4956
echo "Skipping initializing backend, becuase no changes in backend"
50-
elif [ "$BACKEND_MICROAPP_IDENTIFIERS" == "$__NONE" ] || [ -z "$BACKEND_MICROAPP_IDENTIFIERS" ] || \
51-
( ([ "${BACKEND_MICROAPP_PATHS}" != "$__NONE" ] || [ "${FRONTEND_MICROAPP_PATHS}" != "$__NONE" ]) && \
57+
elif ( ([ "${BACKEND_MICROAPP_PATHS}" != "$__NONE" ] || [ "${FRONTEND_MICROAPP_PATHS}" != "$__NONE" ]) && \
5258
([ "${__E2E_WITH_PUBLIC_REPO}" == "${E2E_TESTING}" ] || ([ "${__E2E_WITH_PRIVATE_REPO}" == "${E2E_TESTING}" ] && \
53-
[ "${TRAVIS_BRANCH}" == 'stage' ]))); then
59+
[ "${CI_FULL}" == "true" ]))); then
5460

5561
#################################################################
5662
### Fully initializing backend for e2e test or forced locally ###
@@ -63,8 +69,8 @@ if [ "$__IS_CONCURRENT_SCRIPT" == "$__NONE" ] || [ "$__IS_CONCURRENT_SCRIPT" ==
6369
################################################################
6470
### Partially initializing backend for specified identifiers ###
6571
################################################################
66-
echo "Partially initializing backend: ${BACKEND_MICROAPP_IDENTIFIERS}"
67-
cd ${__SRC_PATH} && deepify compile dev -m "${BACKEND_MICROAPP_IDENTIFIERS}"
72+
echo "Partially initializing backend: ${BACKEND_MICROAPP_PATHS}"
73+
cd ${__SRC_PATH} && deepify compile dev -m "${BACKEND_MICROAPP_PATHS}"
6874
fi
6975

7076
fi

0 commit comments

Comments
 (0)