Skip to content

Conversation

allnes
Copy link
Member

@allnes allnes commented Aug 22, 2025

No description provided.

allnes added 6 commits August 21, 2025 12:54
…model management, validation, and CI support
…Make management, update caching strategy, improve workflow flexibility with manual cache controls and logging adjustments
…ig, `--verify-only` tests, and redundant benchmark test cases
…ne library copy logic with improved mocking and logging
@codecov-commenter
Copy link

codecov-commenter commented Aug 22, 2025

Codecov Report

❌ Patch coverage is 90.14634% with 101 lines in your changes missing coverage. Please review.
✅ Project coverage is 88.29%. Comparing base (4347981) to head (ddaa3a9).

Files with missing lines Patch % Lines
ovmobilebench/builders/openvino.py 67.50% 26 Missing ⚠️
ovmobilebench/packaging/packager.py 38.23% 21 Missing ⚠️
ovmobilebench/pipeline.py 41.93% 18 Missing ⚠️
ovmobilebench/android/installer/sdkmanager.py 77.46% 16 Missing ⚠️
ovmobilebench/cli.py 86.99% 16 Missing ⚠️
ovmobilebench/android/installer/detect.py 66.66% 2 Missing ⚠️
helpers/emulator_helper.py 99.42% 1 Missing ⚠️
ovmobilebench/android/installer/ndk.py 88.88% 1 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main      #29      +/-   ##
==========================================
+ Coverage   81.33%   88.29%   +6.95%     
==========================================
  Files          41       35       -6     
  Lines        2834     3775     +941     
==========================================
+ Hits         2305     3333    +1028     
+ Misses        529      442      -87     
Files with missing lines Coverage Δ
helpers/display_results.py 100.00% <100.00%> (ø)
helpers/model_helper.py 100.00% <100.00%> (ø)
helpers/pr_comment.py 100.00% <100.00%> (ø)
helpers/validate_results.py 100.00% <100.00%> (ø)
ovmobilebench/android/installer/core.py 93.12% <100.00%> (+6.30%) ⬆️
ovmobilebench/android/installer/types.py 100.00% <ø> (ø)
ovmobilebench/config/loader.py 100.00% <100.00%> (ø)
ovmobilebench/config/schema.py 99.37% <100.00%> (+0.05%) ⬆️
ovmobilebench/runners/benchmark.py 100.00% <100.00%> (ø)
helpers/emulator_helper.py 99.42% <99.42%> (ø)
... and 7 more

... and 18 files with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 4347981...ddaa3a9. Read the comment docs.

allnes added 10 commits August 22, 2025 12:32
…ostics, and fallback logic for improved emulator setup
… skipping emulator/AVD setup, deployment, and benchmark steps; update SDK Manager to log compatibility issues and provide fallback paths
…CI configuration, remove ARM64-specific logic
…prove emulator handling with device checks, boot validation, and KVM fallback logic
… emulator tests, align with config changes and validation steps
allnes added 12 commits August 22, 2025 14:17
…nfiguration across Android setup, emulator handling, and cleanup; update tests to reflect new AVD home logic
…r AVD home, update CLI logic, schema, and tests to handle AVD environment configuration
…VD creation debug output and result checks
- Add architecture mapping in setup-android command to convert simplified names to Android SDK format
- Map 'arm64' to 'arm64-v8a' and 'arm' to 'armeabi-v7a'
- Update GitHub Actions workflow to use correct arm64-v8a architecture for macOS
- Fix CI pipeline failure: 'Invalid arch: arm64' error when creating AVD

The Android SDK requires specific architecture strings (arm64-v8a, armeabi-v7a, x86, x86_64)
but configs may use simplified names. This normalization ensures compatibility.
allnes added 18 commits August 22, 2025 22:53
- Adjust `test_shell` to include proper exit code and output handling.
- Replace exception-raising tests with error status assertions for `shell`, `exists`, and other methods.
- Remove test cases for non-existent methods (`get_cpu_info`, `get_memory_info`, `get_gpu_info`, etc.).
- Clean up `skip_list.txt` by removing outdated entries linked to invalid or missing methods.
…ests

- Use `pathlib.Path.chmod` and `shutil.copy2` mocks in `Packager` tests for improved validation.
- Update test cases to enhance library and model copy logic coverage.
- Correct assertions for `_copy_libs` behavior with missing or directory-only artifacts.
- Adjust `skip_list.txt` to mark resolved test issues as fixed.
…id installer

- Refactor tests to replace `Mock` return values with dictionaries for improved clarity.
- Update assertions in CLI tests to reflect new output and enhanced validation logic.
- Fix path handling and detection in SDK/AVD manager tests for platform compatibility.
- Mark resolved issues as fixed in `skip_list.txt` and re-enable corresponding test cases.
- Introduce `_secure_urlretrieve` in `sdkmanager` tests to enhance reliability and security.
- Update logger validation and dry run logic in core tests.
…reliability

- Adjust `time.time` mocking to provide sufficient values for all test cases, ensuring proper timeout simulation.
- Include `stdout` in `Mock` return values for better output validation.
- Maintain timeout behavior assertion to confirm expected results.
…tion

- Modify `sdkmanager` creation logic to generate `.bat` or standard file based on the detected operating system.
- Adjust `test_sdkmanager` to simulate platform-specific behavior using `platform.system`.
…id installer

- Replace `Mock` with detailed return values and add enhanced assertions in test cases.
- Refactor `_install_via_download` to handle mock operations for NDK installation flow.
- Add validation for proper directory structure and return paths in mocked operations.
- Mark resolved test issues as fixed in `skip_list.txt` and re-enable corresponding integration tests.
- Enhance coverage for NDK installation scenarios, including ZIP extraction failures and missing directories.
…d installer

- Mock license acceptance to avoid actual `sdkmanager` calls and refine AVD creation flow.
- Improve validation in NDK-related test cases, including TAR & DMG handling.
- Adjust `_get_download_url` logic with refined mocks for accurate URL construction.
- Simplify `resolve_path` and environment variable-dependent tests to align with actual implementation.
- Remove obsolete test cases, re-enable resolved entries in `skip_list.txt`, and consolidate edge case coverage.
… dependencies

- Replace `tabulate` mocks with `print` mocks for streamlined validation in `display_report` tests.
- Add assertions to verify proper handling of missing fields and edge case values.
- Update `requirements.txt` to include `tabulate>=0.9.0`.
… `test_ndk_coverage`

- Use `tempfile.mkstemp` to avoid Windows file lock issues during TAR extraction tests.
- Add robust cleanup logic with error handling for file removal in Windows environments.
…h references

- Move E2E utility scripts, validations, and helpers from `tests/e2e` to `helpers`.
- Adjust all module imports and references to reflect the new directory structure.
- Update documentation and workflow scripts to align with relocated utilities.
- Extend codespell exclusion list to include `heplers`.
- Refine pytest configuration to remove E2E directory-specific ignores.
…play

- Fix all instances of "heplers" typo across codebase, replacing with "helpers".
- Update test cases for `display_report` to handle missing `tabulate` gracefully and improve fallback logic.
- Refactor `TestDisplayHelper` and `TestListAndroidDevices` for better readability and reliability.
- Add new tests for `get_cache_dir_from_config` and download functions, ensuring robust default handling and error cases.
- Revise documentation, scripts, and workflows to reflect corrected path references.
…s, and installers

- Add comprehensive tests for `OpenVINOBuilder` to cover `build`, `checkout_commit`, and error scenarios.
- Enhance NDK resolver tests with environment variable handling and edge case validations.
- Introduce AVD manager logger validation and extend test cases for creation, deletion, and debug logging.
- Add coverage for CLI commands, including JSONL logging and verbose flags.
- Expand test suite for Android installer modules, handling SDK licenses, downloads, and abstract methods.
- Cover additional scenarios for shell, device base, and detect modules to ensure robust behavior.
- Add platform checks to handle Windows behavior in permission tests and sdkmanager file creation.
- Adjust cleanup logic to ensure file removal consistency on Windows.
- Modify path handling in config-based tests for cross-platform compatibility.
- Update codecov configuration to refine coverage precision, thresholds, and paths.
- Improve test reliability with platform-sensitive assertions and normalized path comparisons.
- Add platform check to bypass fish shell test when running on Windows.
- Ensure cross-platform compatibility by conditionally executing shell-specific assertions.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants