The barebox,state binding is quite complex and we have a lot of udev
parsing code that can only be exercised by manually running
barebox-state on the target. Make development less error prone, by
adding tests for the block device bindings. EEPROM and MTD can
follow later.

Tests are executed by meson as a runner. Patches to teach autotools
to do the same are welcome, although I think we should follow RAUC's
steps and eventually deprecate autotools once meson is on par.

The obvious wart is that we build with -fvisibility=hidden on autotools,
but with meson the same visibility option results in linker errors.

I have no idea why yet, but that should only make meson-built
libdt-utils a bit slower without functional change.

Ahmad Fatoum (5):
  Add meson as build system
  state: add option to lock device node
  meson: add simple integration test
  libdt: add CONFIG_TEST_LOOPBACK
  test: add barebox-state loop block device tests

 .gitignore                                    |   2 +
 README                                        |  21 +
 check-news.sh                                 |  82 ++
 configure.ac                                  |  11 +
 meson.build                                   | 163 ++++
 meson_options.txt                             |  25 +
 src/barebox-state.c                           |  30 +-
 src/barebox-state/state.c                     |   4 +
 src/barebox-state/state.h                     |  21 +
 src/dt/dt.h                                   |   1 -
 src/libdt.c                                   |  50 +-
 test/01-fixed-partition-no-gpt.dts            |  34 +
 ...2-fixed-partition-before-gpt-partition.dts |  34 +
 test/03-fixed-partition-is-gpt-partition.dts  |  34 +
 test/04-gpt-partition-by-partuuid.dts         |  31 +
 test/05-gpt-partition-by-typeuuid.dts         |  23 +
 test/06-fixed-partition-by-diskuuid.dts       |  33 +
 test/07-raw-disk-fail.dts                     |  18 +
 test/08-gpt-disk-no-typeuuid-fail.dts         |  18 +
 ...-partition-overlaps-two-gpt-partitions.dts |  34 +
 ...-overlaps-two-gpt-partitions-partially.dts |  34 +
 ...-fixed-partition-part-of-gpt-partition.dts |  34 +
 test/barebox-state.dtsi                       |  53 ++
 test/barebox-state.t                          | 229 +++++
 test/crc32.c                                  |  18 +
 test/gpt-no-typeuuid.config                   |  33 +
 test/gpt.config                               |  35 +
 test/meson.build                              |  36 +
 test/raw.config                               |  24 +
 test/sharness.sh                              | 857 ++++++++++++++++++
 version-gen                                   |   3 +
 version.h.in                                  |   3 +
 32 files changed, 2012 insertions(+), 16 deletions(-)
 create mode 100755 check-news.sh
 create mode 100644 meson.build
 create mode 100644 meson_options.txt
 create mode 100644 test/01-fixed-partition-no-gpt.dts
 create mode 100644 test/02-fixed-partition-before-gpt-partition.dts
 create mode 100644 test/03-fixed-partition-is-gpt-partition.dts
 create mode 100644 test/04-gpt-partition-by-partuuid.dts
 create mode 100644 test/05-gpt-partition-by-typeuuid.dts
 create mode 100644 test/06-fixed-partition-by-diskuuid.dts
 create mode 100644 test/07-raw-disk-fail.dts
 create mode 100644 test/08-gpt-disk-no-typeuuid-fail.dts
 create mode 100644 test/31-fixed-partition-overlaps-two-gpt-partitions.dts
 create mode 100644 
test/32-fixed-partition-overlaps-two-gpt-partitions-partially.dts
 create mode 100644 test/33-fixed-partition-part-of-gpt-partition.dts
 create mode 100644 test/barebox-state.dtsi
 create mode 100755 test/barebox-state.t
 create mode 100644 test/crc32.c
 create mode 100644 test/gpt-no-typeuuid.config
 create mode 100644 test/gpt.config
 create mode 100644 test/meson.build
 create mode 100644 test/raw.config
 create mode 100755 test/sharness.sh
 create mode 100755 version-gen
 create mode 100644 version.h.in

-- 
2.39.2


Reply via email to