check all the available debian version comparison algorithms for correctness

a3d8611d update README.md · by josch

This is to test the several implementations of Debian version comparison algorithms.

Run it via make test.

run.py generates a file containing all permutations of pairs of versions. The different programs then check whether versions are greater than, equal or less than one another and output >, = and <, respectively in order. It is then checked whether the output of all implementations is the same.

Currently, this checks the libdpkg C implementation, libapt and dose3.

Additionally, the following parsers could be added:

  • libdpkg-perl
  • libben-ocaml (in lib/benl_base.ml and lib/benl_dpkg.c)

The following do not use their own parser:

  • python-debian uses python-apt
  • libghc-dpkg-dev uses libdpkg-dev
  • ruby-debian uses libapt-pkg-dev
  • dpkg-dev-el uses dpkg --compare-versions