dsprenkels / randombytes

A portable C library for generating cypto-secure random bytes
MIT License
97 stars 37 forks source link

Tracking issue: test suite #6

Open jaromil opened 6 years ago

jaromil commented 6 years ago

Still to do:

Platforms:

Original report:

Hi there again :^) thanks for sharing this pretty clean and handy implementation. Have you thought of adding a test suite that helps measuring the entropy on each system it is ran? This library may be of help https://github.com/dyne/libdisorder

dsprenkels commented 6 years ago

Sorry, but unfortunately I do not think measuring entropy will be particularly useful. Shannon entropy does not guarantee the cryptographic properties of a random generator. I think an entropy test would give (if anything) only a false sense of security).

I agree that this library should include test cases though.

dsprenkels commented 6 years ago

As an update to this, I suggest we (I?) could use CMocka for testing C objects. The hard part will be to get a cluster of build targets though. Perhaps use Buildbot?

jaromil commented 6 years ago

I can help to setup a travis build to covers linux, osx and nodejs targets. No idea how to automate windows or bsd.

dsprenkels commented 6 years ago

For Windows I would like to keep using Appveyor. For Linux we will want to build on linux<3.17 and linux>=3.17 (not sure how to do this on Travis). We already have osx (which is working fine).

A Node.js target on Travis would be helpful.

dsprenkels commented 2 years ago

Update: Travis CI seems to have been discontinued. We have to find an alternative.

jaromil commented 2 years ago

Hi Dan! I am using github actions with succes and our own in-house jenkins for exotic targets that aren't covered.

Also about tests, using randombytes in zenroom I setup another kind of test measuring the average hamming distance between a large number of iterations, perhaps interesting.

I wish to contribute something in these directions, will try.