Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AESCounterRNG and Diehard testing improvements #16

Closed
wants to merge 99 commits into from

Conversation

Pr0methean
Copy link

I've fixed the serialization of AESCounterRNG. I've also added the ability to initialize the counter using part of the seed, so 40- and 48-byte seeds can now be used, and 32-byte seeds no longer require a policy file.

Also, ant diehard only worked on Mac because it was using that prepackaged binary, so I've changed it to use dieharder (which must be installed but is cross-platform).

@Pr0methean
Copy link
Author

Update: I've managed to build a Diehard target that can be run on Travis. It was a bit complicated, because Diehard has been replaced with Dieharder, which requires more random numbers than many cloud build environments will let us store, so I worked around the issue with a FIFO. Testing on Travis should be finished in a few hours.

@Pr0methean
Copy link
Author

Update: travis-ci.org has a wall-time limit of 50 minutes per job (paying customers get 120 when running on Linux), which isn't enough time to run the dieharder tests on all 6 PRNGs. To get around this limit, I'm testing a refactored Ant file that creates a separate target for testing each PRNG, so that each one can be a separate Travis job (with a seventh one for all the unit tests). ant diehard will still test all six, and will now do so in parallel, but it won't be used on Travis.

Since my .travis.yml currently tests on 4 different JVMs, we get 28 Travis jobs altogether. At my current allowance of 5 VMs at a time, everything should either finish or time out within 5 hours.

Replace some constant expressions with precomputed values and correct
rounding errors using WolframAlpha. Replace raw types with generics.
Move constants to the left side of equals() comparisons to prevent NPEs.
….travis.yml to address current slow performance of JDK9.
… extends Random> and tests two generated instances for false equality.
@Pr0methean
Copy link
Author

Pr0methean commented Aug 9, 2017

Will reopen after #20 and #21 are merged; they are parts of this change.

@Pr0methean Pr0methean closed this Aug 9, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant