Releases: debeski/laptest
Releases · debeski/laptest
Release list
v0.2.1
Added
- CI/CD pipeline: GitHub Actions builds and packages on Windows (PyInstaller onedir + Inno Setup installer) and macOS (
.appbundle). Tag-driven (v*) releases attachLapTest-Setup-<ver>.exeandLapTest-<ver>-macos.zipto a GitHub Release, with notes pulled from this changelog.
Changed
- macOS bundle version:
CFBundleShortVersionString/CFBundleVersioninlaptest.specnow read from theVERSIONfile instead of a hardcoded0.2.0.
Fixed — macOS polish
- Keyboard test layout: Mac now shows the correct keyboard map —
Cmd/Option/Ctrlbottom row,Delete/Returnlabels, and arrow keys (←→↑↓). Key events map correctly:Key_Meta → Cmd,Key_Alt → Option,Key_Backspace → Delete. Duplicate keys (two Shift, two Cmd, two Option) tracked independently. - Audio tones: speaker test now uses
sounddevicedirectly (cross-platform, no subprocess). Falls back toafplayon macOS /aplayon Linux /winsoundon Windows. Previously fell through toaplayon macOS (Linux-only tool), producing silence. - Audio mic recording: added error display if
sounddeviceraises (e.g., permission denied). Added macOS privacy hint pointing to System Settings → Privacy & Security → Microphone. - Audio checker: added macOS backend via
system_profiler SPAudioDataType. Now detects built-in speakers and microphone by name (e.g., "MacBook Pro Speakers", "MacBook Pro Microphone"). Falls back tosounddevice.query_devices()if profiler returns nothing. - Battery health (Apple Silicon):
MaxCapacityin ioreg returns100on M-series (a percentage scale, not mAh). Now readsAppleRawMaxCapacityfirst; falls back toMaxCapacityonly when it looks like actual mAh (> 100). Prevents the "1.6% healthy" bug. - Wi-Fi display: card-type string from
SPAirPortDataTypeincluded raw hex vendor IDs like(0x14E4, 0x4387). Now stripped with regex. Connected value showsConnected — "SSID"or<adapter> (not connected). - Settings icon too small:
QPushButton[app-btn="icon"]now setsfont-size: 18pxexplicitly so the ⚙ emoji renders at a readable size on macOS (previously inherited 13 px body font). - Webcam checker: added
system_profiler SPCameraDataTypemacOS detection so the checker shows camera name (e.g., "FaceTime HD Camera (Built-in)") even without OpenCV installed. - Webcam test dialog: improved error messages — "opencv-python not installed — run: pip install opencv-python" and macOS-specific camera permission guidance.
- laptest.spec: added
NSMicrophoneUsageDescription+NSCameraUsageDescriptionto macOSInfo.plist— without these keys the OS silently blocks mic/camera access even after the user grants permission in System Settings.
Beta Release
LapTest
A desktop diagnostic tool for evaluating second-hand laptops before purchase.
Built with PyQt6. Runs on Windows and macOS.
Features
- 13 hardware test categories — Storage (SMART, speed, MBR/GPT), RAM (type, speed, dual-channel), CPU (model, generation, temp, throttling), GPU (VRAM, driver), Display (resolution, PPI, refresh rate), Battery (health, wear, cycles), Input Devices (keyboard, touchpad, fingerprint), Audio (speakers, mic), Camera (live preview), Network (Wi-Fi standard, Bluetooth), Ports & Slots (USB 2/3/C, HDMI, SD), System & BIOS (boot mode, Secure Boot, TPM, activation), Thermals & Fans
- Interactive tests — keyboard key-map test, dead-pixel fullscreen color test, speaker tone generator, microphone record & playback, webcam live preview
- Multilingual — English, Arabic (RTL), French — live switching, no restart needed
- Dark / Light themes — hot-swapped at runtime
- Accessibility — high contrast, large text, reduce motion
- JSON report export
See CHANGELOG for latest changes and updates.