File: integration-test-add-test-for-sensors-that-report-non-wor.patch

package info (click to toggle)
iio-sensor-proxy 3.7-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 804 kB
  • sloc: ansic: 5,256; python: 719; xml: 105; makefile: 4
file content (59 lines) | stat: -rw-r--r-- 2,662 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
From: "Sicelo A. Mhlongo" <absicsz@gmail.com>
Date: Mon, 26 May 2025 18:05:38 +0200
Subject: integration-test: add test for sensors that report non-working
 buffers

Confirm that when a sensor reports support for buffer operation, and the mode
can actually be enabled, but no data is returned, iio-sensor-proxy will detect
this and switch to polling mode.
---
 tests/integration-test.py | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/tests/integration-test.py b/tests/integration-test.py
index b596eaa..95b9da3 100755
--- a/tests/integration-test.py
+++ b/tests/integration-test.py
@@ -630,6 +630,42 @@ class Tests(dbusmock.DBusTestCase):
 
         self.stop_daemon()
 
+    def test_iio_broken_buffer_accel(self):
+        '''iio sensor reporting broken buffer support'''
+        top_srcdir = os.getenv('top_srcdir', '.')
+        mock_dev_data = self.testbed.get_root_dir() + '/iio-dev-data.bin'
+        accel = self.testbed.add_device('iio', 'iio-buffer-accel0', None,
+            ['name', 'IIO Test Accelerometer',
+             'buffer/enable', '0',
+             'trigger/current_trigger', '',
+             'scan_elements/in_accel_x_en', '0',
+             'scan_elements/in_accel_x_index', '0',
+             'scan_elements/in_accel_x_type', 'le:s16/32>>0',
+             'scan_elements/in_accel_y_en', '0',
+             'scan_elements/in_accel_y_index', '1',
+             'scan_elements/in_accel_y_type', 'le:s16/32>>0',
+             'scan_elements/in_accel_z_en', '0',
+             'scan_elements/in_accel_z_index', '2',
+             'scan_elements/in_accel_z_type', 'le:s16/32>>0',
+             'scan_elements/in_timestamp_en', '1',
+             'scan_elements/in_timestamp_index', '3',
+             'scan_elements/in_timestamp_type', 'le:s64/64>>0'],
+            ['NAME', '"IIO Accelerometer"',
+             'DEVNAME', '/dev/iio-buffer-accel-test',
+             'IIO_SENSOR_PROXY_TYPE', 'iio-buffer-accel iio-poll-accel']
+        )
+        trigger = self.testbed.add_device('iio', 'trigger0', None,
+            ['name', 'accel_3d-dev0'],
+            []
+        )
+        self.start_daemon()
+        self.assertEqual(self.have_text_in_log('Built channel array'), True)
+        self.assertEqual(self.have_text_in_log('Disabled sensor'), True)
+        self.assertEqual(self.have_text_in_log('Found IIO poll accelerometer'), True)
+        self.assertEqual(self.get_dbus_property('HasAccelerometer'), True)
+
+        self.stop_daemon()
+
     def test_unrequested_readings(self):
         '''unrequested property updates'''
         self.testbed.add_device('input', 'fake-light', None,