more test summary details
This commit is contained in:
1 parent
a68854c4b9
commit
c9d176759d
1 file changed
+23
-12
+23
-12
@@ -90,7 +90,7 @@ async def _discover_device(mac: str) -> Optional[str]:
|
|||||||
log.warning("Discover call timed out after %.1fs for %s", SCAN_TIMEOUT + 2.0, mac)
|
log.warning("Discover call timed out after %.1fs for %s", SCAN_TIMEOUT + 2.0, mac)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
log.error(f"Dicvoere call failed - {e}")
|
log.error(f"Dicvoere call failed - {e}")
|
||||||
reset_adapter(big_reset = True)
|
reset_adapter()
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def _parse_sensor_data(raw: bytes) -> (float, int):
|
def _parse_sensor_data(raw: bytes) -> (float, int):
|
||||||
@@ -233,21 +233,23 @@ def read_data_sync(mac: str) -> Optional[SensorReading]:
|
|||||||
# --------------------------------------------------------------------------- #
|
# --------------------------------------------------------------------------- #
|
||||||
# Other helper functions
|
# Other helper functions
|
||||||
# --------------------------------------------------------------------------- #
|
# --------------------------------------------------------------------------- #
|
||||||
def reset_adapter(big_reset = False):
|
def reset_adapter():
|
||||||
log.info("Restting BT Adapter...")
|
log.info("Restting BT Adapter...")
|
||||||
if big_reset:
|
if current_usb_id.len() > 0:
|
||||||
log.warning(f"Doing big reset - USB ID {current_usb_id}")
|
log.warning(f"Doing big reset - USB ID {current_usb_id}")
|
||||||
log.info(subprocess.run(["usbreset", current_usb_id], capture_output=True, text=True, check=True).stdout.strip())
|
log.info(subprocess.run(["usbreset", current_usb_id], capture_output=True, text=True, check=True).stdout.strip())
|
||||||
time.sleep(2)
|
time.sleep(2)
|
||||||
else:
|
else:
|
||||||
log.info(subprocess.run(["sudo", "rfkill", "block", "bluetooth"], capture_output=True, text=True, check=True).stdout.strip())
|
log.warning("Hmm, this shouldn't happen, the current_usb_id is blank 0_o")
|
||||||
time.sleep(2)
|
#big_reset = False
|
||||||
log.info(subprocess.run(["sudo", "rfkill", "unblock", "bluetooth"], capture_output=True, text=True, check=True).stdout.strip())
|
#else:
|
||||||
time.sleep(5)
|
# log.info(subprocess.run(["sudo", "rfkill", "block", "bluetooth"], capture_output=True, text=True, check=True).stdout.strip())
|
||||||
|
# time.sleep(2)
|
||||||
|
# log.info(subprocess.run(["sudo", "rfkill", "unblock", "bluetooth"], capture_output=True, text=True, check=True).stdout.strip())
|
||||||
|
# time.sleep(5)
|
||||||
log.info("Reset complete. ")
|
log.info("Reset complete. ")
|
||||||
|
|
||||||
def sensor_data_query(mac_list: List[str]) -> List[dict]:
|
def sensor_data_query(mac_list: List[str]) -> List[dict]:
|
||||||
reset_adapter()
|
|
||||||
result = []
|
result = []
|
||||||
for mac in mac_list:
|
for mac in mac_list:
|
||||||
try:
|
try:
|
||||||
@@ -271,7 +273,7 @@ def test(test_count = 0, bt_usb_id = None) -> None:
|
|||||||
if bt_usb_id == None:
|
if bt_usb_id == None:
|
||||||
log.error(f"Error - no USB ID Passed, this is needed for the test")
|
log.error(f"Error - no USB ID Passed, this is needed for the test")
|
||||||
return -1
|
return -1
|
||||||
|
log.info(f"Ensuring BLE active...")
|
||||||
test_loop_count = 0
|
test_loop_count = 0
|
||||||
found_macs = scan_macs()
|
found_macs = scan_macs()
|
||||||
log.info("Found these MACs on a scan:")
|
log.info("Found these MACs on a scan:")
|
||||||
@@ -338,7 +340,10 @@ if __name__ == "__main__":
|
|||||||
except ValueError:
|
except ValueError:
|
||||||
print("The count must be an integer.")
|
print("The count must be an integer.")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
# make sure bluetooth is unblocked in case something weird happened
|
||||||
|
log.info("Unblocking Bluetooth")
|
||||||
|
log.info(subprocess.run(["sudo", "rfkill", "unblock", "bluetooth"], capture_output=True, text=True, check=True).stdout.strip())
|
||||||
|
time.sleep(2)
|
||||||
# calculate the BT ID and pass to test
|
# calculate the BT ID and pass to test
|
||||||
present_usb_ids_command = "lsusb | awk '{print $6}'"
|
present_usb_ids_command = "lsusb | awk '{print $6}'"
|
||||||
# Capture each USB ID as a separate line
|
# Capture each USB ID as a separate line
|
||||||
@@ -353,8 +358,8 @@ if __name__ == "__main__":
|
|||||||
for usb_id in present_usb_id_output:
|
for usb_id in present_usb_id_output:
|
||||||
if usb_id in bt_usb_ids:
|
if usb_id in bt_usb_ids:
|
||||||
current_usb_id = usb_id
|
current_usb_id = usb_id
|
||||||
log.info(f"BLE USB ID Detected: {current_usb_id}")
|
log.info(f"BLE USB ID Detected: {current_usb_id} - Resetting")
|
||||||
reset_adapter(big_reset=True)
|
reset_adapter()
|
||||||
test_count = 0
|
test_count = 0
|
||||||
test_results = []
|
test_results = []
|
||||||
log.info(f"Starting BLE Test for {count} iterations")
|
log.info(f"Starting BLE Test for {count} iterations")
|
||||||
@@ -377,6 +382,12 @@ if __name__ == "__main__":
|
|||||||
log.info("Test run completed! Summary:")
|
log.info("Test run completed! Summary:")
|
||||||
for test_result in test_results:
|
for test_result in test_results:
|
||||||
log.info(f"{test_result['test_label']}:")
|
log.info(f"{test_result['test_label']}:")
|
||||||
|
mac_parts: List[str] = []
|
||||||
|
for mac in sorted(test_result['found_macs']): # optional sort
|
||||||
|
short_mac = ":".join(mac.split(":")[-2:])
|
||||||
|
mac_parts.append(short_mac)
|
||||||
|
found_macs_summary = " | ".join(mac_parts) # e.g. "A1:23 | B4:56"
|
||||||
|
log.info(f"Found {len(test_result['found_macs'])} MACs - {found_macs_summary}")
|
||||||
parts: List[str] = []
|
parts: List[str] = []
|
||||||
# Sort sensor results alphabetically by 'name' before printing
|
# Sort sensor results alphabetically by 'name' before printing
|
||||||
for reading in sorted(test_result['test_result']['sensor_results'], key=lambda r: r['name']):
|
for reading in sorted(test_result['test_result']['sensor_results'], key=lambda r: r['name']):
|
||||||
|
|||||||
Reference in new issue
Block a user