jedisct1 / libhydrogen

A lightweight, secure, easy-to-use crypto library suitable for constrained environments.
https://libhydrogen.org
Other
631 stars 94 forks source link

add option to disable tests #130

Closed autoantwort closed 2 years ago

autoantwort commented 2 years ago

Currently vcpkg needs a patch to remove them: https://github.com/microsoft/vcpkg/blob/master/ports/libhydrogen/remove-tests.patch

jedisct1 commented 2 years ago

Wait... why do they NOT run the tests? That sounds like a bad idea.

autoantwort commented 2 years ago

Why should they? Does this library contains bugs that must be detected when building the library?

jedisct1 commented 2 years ago

Different compilers, different compiler versions, different platforms may produce different behaviors. This is a cryptography library, and a misbehavior can have implications. Using it without having run the test suite is a bad idea.

Crest commented 2 years ago

Why should they? Does this library contains bugs that must be detected when building the library?

Why shouldn't vcpkg build and run tests does its toolchain contain bugdoors revealed by the regression tests? It's easy to frame an accusation as a question, but it doesn't advance honest subject matter discussions. A short test build and executed as part of release builds is useful to defend against regressions only revealed when building with a release. It doesn't matter if the "blame" for the regression lies with the packaged code or the toolchain building it.

Given how lightweight libhydrogen is compared to normal desktop (and server) bloatware expected to always run on Windows systems shipping the test executable should be hidden my the rounding errors, but excluding it from the package (after the test passed) could be worth it to avoid maintaining one more packaged executable.