Skip to content
This repository was archived by the owner on Jul 16, 2025. It is now read-only.

Commit 74423f2

Browse files
Merge pull request #97 from codecov/thiago/logging/logging-tests
Logging about tests being skipped
2 parents 3a9adaa + 34355bc commit 74423f2

File tree

2 files changed

+43
-3
lines changed

2 files changed

+43
-3
lines changed

codecov_cli/commands/labelanalysis.py

Lines changed: 42 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ def label_analysis(token, head_commit_sha, base_commit_sha):
3232
url = "https://api.codecov.io/labels/labels-analysis"
3333
token_header = f"Repotoken {token}"
3434
# this needs to be more flexible to support multiple elements
35-
runner = ThisRunner()
35+
runner = PythonStandardRunner()
3636
requested_labels = runner.collect_tests()
3737
payload = {
3838
"base_commit": base_commit_sha,
@@ -44,6 +44,18 @@ def label_analysis(token, head_commit_sha, base_commit_sha):
4444
url, json=payload, headers={"Authorization": token_header}
4545
)
4646
if response.status_code >= 500:
47+
logger.warning(
48+
"Sorry. Codecov is having problems",
49+
extra=dict(extra_log_attributes=dict(status_code=response.status_code)),
50+
)
51+
if requested_labels:
52+
fake_response = {
53+
"present_report_labels": [],
54+
"absent_labels": requested_labels,
55+
"present_diff_labels": [],
56+
"global_level_labels": [],
57+
}
58+
return runner.do_something_with_result(fake_response)
4759
raise click.ClickException("Sorry. Codecov is having problems")
4860
if response.status_code >= 400:
4961
logger.warning(
@@ -77,12 +89,21 @@ def label_analysis(token, head_commit_sha, base_commit_sha):
7789
"Request had problems calculating",
7890
extra=dict(extra_log_attributes=dict(resp_json=resp_json)),
7991
)
92+
if requested_labels:
93+
logger.info("Using requested labels as tests to run")
94+
fake_response = {
95+
"present_report_labels": [],
96+
"absent_labels": requested_labels,
97+
"present_diff_labels": [],
98+
"global_level_labels": [],
99+
}
100+
return runner.do_something_with_result(fake_response)
80101
return
81102
logger.info("Waiting more time for result")
82103
time.sleep(5)
83104

84105

85-
class ThisRunner(object):
106+
class PythonStandardRunner(object):
86107
def collect_tests(self):
87108
return [
88109
x
@@ -98,11 +119,30 @@ def collect_tests(self):
98119

99120
def do_something_with_result(self, result):
100121
command_array = ["python", "-m", "pytest", "--cov=./", "--cov-context=test"]
122+
logger.info(
123+
"Received information about tests to run",
124+
extra=dict(
125+
extra_log_attributes=dict(
126+
absent_labels=len(result["absent_labels"] or []),
127+
present_diff_labels=len(result["present_diff_labels"] or []),
128+
global_level_labels=len(result["global_level_labels"] or []),
129+
present_report_labels=len(result["present_report_labels"] or []),
130+
)
131+
),
132+
)
101133
all_labels = (
102134
result["absent_labels"]
103135
+ result["present_diff_labels"]
104136
+ result["global_level_labels"]
105137
)
138+
skipped_tests = set(result["present_report_labels"]) - set(all_labels)
139+
if skipped_tests:
140+
logger.info(
141+
"Some tests are being skipped",
142+
extra=dict(
143+
extra_log_attributes=dict(skipped_tests=sorted(skipped_tests))
144+
),
145+
)
106146
all_labels = set(all_labels)
107147
all_labels = [x.rsplit("[", 1)[0] if "[" in x else x for x in all_labels]
108148
# Not safe from the customer perspective, in general, probably.

codecov_cli/services/staticanalysis/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ async def send_single_upload_put(client, all_data, el):
117117
if response.status_code < 300:
118118
return response
119119
if response.status_code in retryable_statuses:
120-
asyncio.sleep(2**current_retry)
120+
await asyncio.sleep(2**current_retry)
121121
logger.warning(
122122
"Unable to send data",
123123
extra=dict(

0 commit comments

Comments
 (0)