mirror of
https://github.com/kaspanet/kaspad.git
synced 2025-05-20 22:06:42 +00:00

* Copy over boilerplate and begin implementing TestDAA. * Implement a fairly reliable method of hashing at a certain hashrate. * Convert the DAA test to an application. * Start kaspad and make sure that hashrate throttling works with that as well. * Finish implementing testConstantHashRate. * Tidied up a bit. * Convert TestDAA back into a go test. * Reorganize TestDAA to be more like a traditional test. * Add sudden hashrate drop/jump tests. * Simplify targetHashNanosecondsFunction. * Improve progress logs. * Add more tests. * Remove the no-longer relevant `hashes` part of targetHashNanosecondsFunction. * Implement a constant hashrate increase test. * Implement a constant hashrate decrease test. * Give the correct run duration to the constant hashrate decrease test. * Add cooldowns to exponential functions. * Add run.sh to the DAA test. * Add a README. * Add `daa` to run-slow.sh. * Make go lint happy. * Fix the README's title. * Keep running tests even if one of them failed on high block rate deviation. * Fix hashrate peak/valley tests. * Preallocate arrays for hash and mining durations. * Add more statistics to the "mined block" log. * Make sure runDAATest stops when it's suppposed to. * Add a newline after "5 minute cooldown." * Fix variable names. * Rename totalElapsedTime to tatalElapsedDuration. * In measureMachineHashNanoseconds, generate a random nonce only once. * In runDAATest, add "DAA" to the start/finish log. * Remove --logdir from kaspadRunCommand. * In runDAATest, enlarge the nonce range to the entirety of uint64. * Explain what targetHashNanosecondsFunction is. * Move RunKaspadForTesting into common. * Rename runForDuration to loopForDuration. * Make go lint happy. * Extract fetchBlockForMining to a separate function. * Extract waitUntilTargetHashDurationHadElapsed to a separate function. * Extract pushHashDuration and pushMiningDuration to separate functions. * Extract logMinedBlockStatsAndUpdateStatFields to a separate function. * Extract submitMinedBlock to a separate function. * Extract tryNonceForMiningAndIncrementNonce to a separate function. * Add comments. * Use a rolling average instead of appending to an array for performance/accuracy. * Change a word in a comment. * Explain why we wait for five minutes at the end of the exponential increase/decrease tests. Co-authored-by: Svarog <feanorr@gmail.com>
14 lines
227 B
Bash
Executable File
14 lines
227 B
Bash
Executable File
#!/bin/bash
|
|
|
|
RUN_STABILITY_TESTS=true go test ../ -v -timeout 86400s
|
|
TEST_EXIT_CODE=$?
|
|
|
|
echo "Exit code: $TEST_EXIT_CODE"
|
|
|
|
if [ $TEST_EXIT_CODE -eq 0 ]; then
|
|
echo "daa test: PASSED"
|
|
exit 0
|
|
fi
|
|
echo "daa test: FAILED"
|
|
exit 1
|