Skip to content
  • Michał Kępień's avatar
    Do not call bin/tools/genrandom unconditionally in system tests · c12388f5
    Michał Kępień authored
    $RANDFILE, i.e. bin/tests/system/random.data, should only be written to
    if a system test requires support for cryptography and that file does
    not already exist.  Otherwise, when multiple system tests are run in
    parallel, that file might get truncated due to bin/tools/genrandom.c
    using fopen() with mode "w" when writing the destination file.  With
    unfortunate timing, this may cause system tests employing BIND tools
    which need entropy (e.g. dnssec-keygen) to fail.
    
    Make sure bin/tests/system/metadata/tests.sh no longer calls
    bin/tools/genrandom since $RANDFILE is guaranteed to already be created
    by the time bin/tools/genrandom is currently called because
    bin/tests/system/metadata/prereq.sh uses bin/tests/system/testcrypto.sh.
    
    Make sure bin/tests/system/sfcache/prereq.sh only writes to $RANDFILE if
    it does not already exist.
    c12388f5