feat(hardware): auto-detect audio, bluetooth, camera with declarative override
This commit is contained in:
44
tests/hardware/_assert_merge.yml
Normal file
44
tests/hardware/_assert_merge.yml
Normal file
@@ -0,0 +1,44 @@
|
||||
---
|
||||
- name: "Seed detection + declarative group (merge {{ mf.name }})"
|
||||
ansible.builtin.set_fact:
|
||||
hardware_profile_active: "{{ mf.detected }}"
|
||||
os_family: "{{ mf.os_family }}"
|
||||
_nvidia_driver_resolved: "{{ mf.nvidia_driver_resolved | default('nouveau') }}"
|
||||
system_cfg:
|
||||
features:
|
||||
firmware: { enabled: true, microcode: true }
|
||||
gpu: { enabled: true }
|
||||
peripherals:
|
||||
enabled: true
|
||||
camera: "auto"
|
||||
fingerprint: "auto"
|
||||
audio: "auto"
|
||||
bluetooth: "auto"
|
||||
displaylink: false
|
||||
hardware: "{{ mf.hardware }}"
|
||||
|
||||
- name: "Merge group over detection (merge {{ mf.name }})"
|
||||
ansible.builtin.include_tasks: ../../roles/environment/tasks/_merge_hardware_profile.yml
|
||||
|
||||
- name: "Assert merged profile (merge {{ mf.name }})"
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- (hardware_profile_active.fingerprint | bool) == (mf.expect_profile.fingerprint | bool)
|
||||
- (hardware_profile_active.bluetooth | bool) == (mf.expect_profile.bluetooth | bool)
|
||||
- _hardware_profile_kernel_params == (mf.hardware.kernel_params | default([]))
|
||||
fail_msg: "[merge {{ mf.name }}] profile FAIL {{ hardware_profile_active }}"
|
||||
|
||||
- name: "Load package map (merge {{ mf.name }})"
|
||||
ansible.builtin.include_vars:
|
||||
file: ../../roles/bootstrap/vars/hardware.yml
|
||||
|
||||
- name: "Resolve packages (merge {{ mf.name }})"
|
||||
ansible.builtin.include_tasks: ../../roles/bootstrap/tasks/_resolve_hardware_packages.yml
|
||||
|
||||
- name: "Assert resolved package list (merge {{ mf.name }})"
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- (mf.expect_contains | default([])) | difference(_hardware_packages) | length == 0
|
||||
- (mf.expect_excludes | default([])) | intersect(_hardware_packages) | length == 0
|
||||
fail_msg: "[merge {{ mf.name }}] FAIL got {{ _hardware_packages }}"
|
||||
success_msg: "[merge {{ mf.name }}] OK {{ _hardware_packages }}"
|
||||
Reference in New Issue
Block a user