linux/drivers/iio
Lars-Peter Clausen 0bf49ffbfe iio: Add basic unit test for iio_format_value()
The IIO core provides a function to do formatting of fixedpoint numbers.

In the past there have been some issues with the implementation of the
function where for example negative numbers were not handled correctly.

Introduce a basic unit test based on kunit that tests the function and
ensures that the generated output matches the expected output.

This gives us some confidence that future modifications to the function
implementation will not break ABI compatibility.

To run the unit tests follow the kunit documentation and add

  CONFIG_IIO=y
  CONFIG_IIO_TEST_FORMAT=y

to the .kunitconfig and run

  > ./tools/testing/kunit/kunit.py run
  Configuring KUnit Kernel ...
  Building KUnit Kernel ...
  Starting KUnit Kernel ...
  ============================================================
  ======== [PASSED] iio-format ========
  [PASSED] iio_test_iio_format_value_integer
  [PASSED] iio_test_iio_format_value_fixedpoint
  [PASSED] iio_test_iio_format_value_fractional
  [PASSED] iio_test_iio_format_value_fractional_log2
  [PASSED] iio_test_iio_format_value_multiple
  ============================================================
  Testing complete. 21 tests run. 0 failed. 0 crashed.
  Elapsed time: 8.242s total, 0.001s configuring, 3.865s building, 0.000s running

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Link: https://lore.kernel.org/r/20201215191743.2725-3-lars@metafoo.de
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2021-03-11 20:47:00 +00:00
..
accel iio: accel: kxcjk-1013: Set label based on accel-location on 2-accel yoga-style 2-in-1s 2021-03-11 20:46:59 +00:00
adc iio: adc: Add driver for Texas Instruments ADS131E0x ADC family 2021-03-11 20:46:58 +00:00
afe iio: afe: iio-rescale: Simplify with dev_err_probe() 2020-09-03 19:40:50 +01:00
amplifiers iio: amplifiers: hmc425a: Simplify with dev_err_probe() 2020-09-03 19:40:50 +01:00
buffer iio: buffer: Return error if no callback is given 2020-12-03 19:32:40 +00:00
chemical iio: bme680: Use DIV_ROUND_CLOSEST() instead of open-coding it 2021-01-09 21:52:45 +00:00
common iio: st_sensors: fix typo in comment 2021-03-11 20:46:55 +00:00
dac iio:adc:dac:ad5791 typo fix of regster 2021-03-11 20:46:57 +00:00
dummy iio: dummy: iio_dummy_evgen: Demote file header and supply description for 'irq_sim_domain' 2020-09-21 18:41:36 +01:00
frequency iio: frequency: adf4350: Remove redundant null check before clk_disable_unprepare 2021-01-09 21:52:46 +00:00
gyro iio: hid-sensor-gyro-3d: Add timestamp channel 2021-01-22 08:52:04 +00:00
health Second set of features and cleanups for IIO in 5.10 2020-09-22 09:45:11 +02:00
humidity iio: humidity: hts221: add vdd voltage regulator 2020-12-03 19:32:39 +00:00
imu iio: imu: inv_mpu6050: Add support for MPU-6880 2021-01-09 14:25:30 +00:00
light iio: hid-sensor-als: Add timestamp channel 2021-01-22 08:52:04 +00:00
magnetometer iio: hid-sensor-magn-3d: Add timestamp channel 2021-01-22 08:52:04 +00:00
multiplexer iio: multiplexer: iio-mux: Simplify with dev_err_probe() 2020-09-03 19:40:51 +01:00
orientation iio: hid-sensor-rotation: Fix quaternion data not correct 2021-03-11 20:46:56 +00:00
position iio: hid-sensors: Add hinge sensor driver 2021-01-22 08:52:02 +00:00
potentiometer iio: potentiometer: ad5272: Correct polarity of reset 2020-12-03 19:32:42 +00:00
potentiostat iio:potentiostat:lmp91000: Drop of_match_ptr and use generic fw accessors 2020-09-21 18:41:29 +01:00
pressure iio:pressure:ms5637: add ms5803 support 2021-01-22 08:52:07 +00:00
proximity iio: proximity: sx9500: Fix a spelling postive to positive 2021-03-11 20:47:00 +00:00
resolver iio:resolver:ad2s1200: Drop of_match_ptr protection 2020-09-21 18:41:31 +01:00
temperature drivers: iio: temperature: Add delay after the addressed reset command in mlx90632.c 2021-01-14 20:56:55 +00:00
test iio: Add basic unit test for iio_format_value() 2021-03-11 20:47:00 +00:00
trigger Staging / IIO driver patches for 5.11-rc1 2020-12-15 14:18:40 -08:00
iio_core_trigger.h iio: trigger: make stub functions static inline 2020-08-22 10:53:18 +01:00
iio_core.h iio: core: centralize ioctl() calls to the main chardev 2020-11-14 15:31:25 +00:00
industrialio-buffer.c iio: buffer: Fix demux update 2020-12-03 19:32:44 +00:00
industrialio-configfs.c
industrialio-core.c iio: iio_format_value(): Fix IIO_VAL_FRACTIONAL_LOG2 values between -1.0 and 0.0 2021-03-11 20:47:00 +00:00
industrialio-event.c iio: core: centralize ioctl() calls to the main chardev 2020-11-14 15:31:25 +00:00
industrialio-sw-device.c
industrialio-sw-trigger.c
industrialio-trigger.c iio:trigger: rename try_reenable() to reenable() plus return void 2020-12-03 19:40:26 +00:00
industrialio-triggered-event.c
inkern.c iio: provide of_iio_channel_get_by_name() and devm_ version it 2021-01-16 18:27:51 +00:00
Kconfig iio: Add basic unit test for iio_format_value() 2021-03-11 20:47:00 +00:00
Makefile iio: Add basic unit test for iio_format_value() 2021-03-11 20:47:00 +00:00
TODO