Skip to content

Commit 121c561

Browse files
committed
Fix better error handling
1 parent c976ab6 commit 121c561

File tree

6 files changed

+72
-21
lines changed

6 files changed

+72
-21
lines changed

tests/mainnet/Base_Mainnet.py

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,18 @@ def log_error(error, node_name, step='unknown', remote_node=None):
8787
if isinstance(error, TimeoutError) or isinstance(error, concurrent.futures.TimeoutError):
8888
error_message = f"Timeout after 3 minutes during {step}"
8989
else:
90-
error_message = str(error).splitlines()[0] if hasattr(error, 'splitlines') else str(error)
91-
error_message = error_message[:100]
92-
90+
try:
91+
if isinstance(error, dict):
92+
error_message = error.get("errorType") or str(error)
93+
elif hasattr(error, "args") and isinstance(error.args[0], dict):
94+
error_message = error.args[0].get("errorType", str(error))
95+
else:
96+
error_message = str(error)
97+
except Exception:
98+
error_message = str(error)
99+
100+
error_message = error_message.splitlines()[0][:100]
101+
93102
# Create a generic key that groups similar errors
94103
if remote_node:
95104
key = f"{step}{type(error).__name__}: {error_message} on {remote_node}"

tests/mainnet/Gnosis_Mainnet.py

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,18 @@ def log_error(error, node_name, step='unknown', remote_node=None):
8787
if isinstance(error, TimeoutError) or isinstance(error, concurrent.futures.TimeoutError):
8888
error_message = f"Timeout after 3 minutes during {step}"
8989
else:
90-
error_message = str(error).splitlines()[0] if hasattr(error, 'splitlines') else str(error)
91-
error_message = error_message[:100]
92-
90+
try:
91+
if isinstance(error, dict):
92+
error_message = error.get("errorType") or str(error)
93+
elif hasattr(error, "args") and isinstance(error.args[0], dict):
94+
error_message = error.args[0].get("errorType", str(error))
95+
else:
96+
error_message = str(error)
97+
except Exception:
98+
error_message = str(error)
99+
100+
error_message = error_message.splitlines()[0][:100]
101+
93102
# Create a generic key that groups similar errors
94103
if remote_node:
95104
key = f"{step}{type(error).__name__}: {error_message} on {remote_node}"

tests/mainnet/Neuroweb_Mainnet.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,18 @@ def log_error(error, node_name, step='unknown', remote_node=None):
8787
if isinstance(error, TimeoutError) or isinstance(error, concurrent.futures.TimeoutError):
8888
error_message = f"Timeout after 3 minutes during {step}"
8989
else:
90-
error_message = str(error).splitlines()[0] if hasattr(error, 'splitlines') else str(error)
91-
error_message = error_message[:100]
92-
90+
try:
91+
if isinstance(error, dict):
92+
error_message = error.get("errorType") or str(error)
93+
elif hasattr(error, "args") and isinstance(error.args[0], dict):
94+
error_message = error.args[0].get("errorType", str(error))
95+
else:
96+
error_message = str(error)
97+
except Exception:
98+
error_message = str(error)
99+
100+
error_message = error_message.splitlines()[0][:100]
101+
93102
# Create a generic key that groups similar errors
94103
if remote_node:
95104
key = f"{step}{type(error).__name__}: {error_message} on {remote_node}"
@@ -122,7 +131,6 @@ def log_error(error, node_name, step='unknown', remote_node=None):
122131
# Save back to file
123132
with open(error_file, 'w') as f:
124133
json.dump(error_data, f, indent=2)
125-
126134

127135
def safe_rate(success, fail):
128136
total = success + fail

tests/testnet/Base_Testnet.py

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,9 +94,18 @@ def log_error(error, node_name, step='unknown', remote_node=None):
9494
if isinstance(error, TimeoutError) or isinstance(error, concurrent.futures.TimeoutError):
9595
error_message = f"Timeout after 3 minutes during {step}"
9696
else:
97-
error_message = str(error).splitlines()[0] if hasattr(error, 'splitlines') else str(error)
98-
error_message = error_message[:100]
99-
97+
try:
98+
if isinstance(error, dict):
99+
error_message = error.get("errorType") or str(error)
100+
elif hasattr(error, "args") and isinstance(error.args[0], dict):
101+
error_message = error.args[0].get("errorType", str(error))
102+
else:
103+
error_message = str(error)
104+
except Exception:
105+
error_message = str(error)
106+
107+
error_message = error_message.splitlines()[0][:100]
108+
100109
# Create a generic key that groups similar errors
101110
if remote_node:
102111
key = f"{step}{type(error).__name__}: {error_message} on {remote_node}"

tests/testnet/Gnosis_Testnet.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -94,9 +94,18 @@ def log_error(error, node_name, step='unknown', remote_node=None):
9494
if isinstance(error, TimeoutError) or isinstance(error, concurrent.futures.TimeoutError):
9595
error_message = f"Timeout after 3 minutes during {step}"
9696
else:
97-
error_message = str(error).splitlines()[0] if hasattr(error, 'splitlines') else str(error)
98-
error_message = error_message[:100]
99-
97+
try:
98+
if isinstance(error, dict):
99+
error_message = error.get("errorType") or str(error)
100+
elif hasattr(error, "args") and isinstance(error.args[0], dict):
101+
error_message = error.args[0].get("errorType", str(error))
102+
else:
103+
error_message = str(error)
104+
except Exception:
105+
error_message = str(error)
106+
107+
error_message = error_message.splitlines()[0][:100]
108+
100109
# Create a generic key that groups similar errors
101110
if remote_node:
102111
key = f"{step}{type(error).__name__}: {error_message} on {remote_node}"
@@ -129,7 +138,6 @@ def log_error(error, node_name, step='unknown', remote_node=None):
129138
# Save back to file
130139
with open(error_file, 'w') as f:
131140
json.dump(error_data, f, indent=2)
132-
133141

134142
def safe_rate(success, fail):
135143
total = success + fail

tests/testnet/Neuroweb_Testnet.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -94,9 +94,18 @@ def log_error(error, node_name, step='unknown', remote_node=None):
9494
if isinstance(error, TimeoutError) or isinstance(error, concurrent.futures.TimeoutError):
9595
error_message = f"Timeout after 3 minutes during {step}"
9696
else:
97-
error_message = str(error).splitlines()[0] if hasattr(error, 'splitlines') else str(error)
98-
error_message = error_message[:100]
99-
97+
try:
98+
if isinstance(error, dict):
99+
error_message = error.get("errorType") or str(error)
100+
elif hasattr(error, "args") and isinstance(error.args[0], dict):
101+
error_message = error.args[0].get("errorType", str(error))
102+
else:
103+
error_message = str(error)
104+
except Exception:
105+
error_message = str(error)
106+
107+
error_message = error_message.splitlines()[0][:100]
108+
100109
# Create a generic key that groups similar errors
101110
if remote_node:
102111
key = f"{step}{type(error).__name__}: {error_message} on {remote_node}"
@@ -129,7 +138,6 @@ def log_error(error, node_name, step='unknown', remote_node=None):
129138
# Save back to file
130139
with open(error_file, 'w') as f:
131140
json.dump(error_data, f, indent=2)
132-
133141

134142
def safe_rate(success, fail):
135143
total = success + fail

0 commit comments

Comments
 (0)