mirror of
https://github.com/kaspanet/kaspad.git
synced 2025-03-30 15:08:33 +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>
64 lines
2.0 KiB
Bash
Executable File
64 lines
2.0 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
BASEDIR=$(dirname "$0")
|
|
PROJECT_ROOT=$( cd "${BASEDIR}/.."; pwd)
|
|
|
|
failedTests=()
|
|
|
|
# echo "Running application-level-garbage"
|
|
# cd "${PROJECT_ROOT}/application-level-garbage/run" && ./run.sh || failedTests+=("application-level-garbage")
|
|
# echo "Done running application-level-garbage"
|
|
|
|
echo "Running infra-level-garbage"
|
|
cd "${PROJECT_ROOT}/infra-level-garbage/run" && ./run.sh || failedTests+=("infra-level-garbage")
|
|
echo "Done running infra-level-garbage"
|
|
|
|
echo "Running kaspadsanity"
|
|
cd "${PROJECT_ROOT}/kaspadsanity/run" && ./run.sh || failedTests+=("kaspadsanity")
|
|
echo "Done running kaspadsanity"
|
|
|
|
echo "Running rpc-stability"
|
|
cd "${PROJECT_ROOT}/rpc-stability/run" && ./run.sh || failedTests+=("rpc-stability")
|
|
echo "Done running rpc-stability"
|
|
|
|
echo "Running rpc-idle-clients"
|
|
cd "${PROJECT_ROOT}/rpc-idle-clients/run" && ./run.sh || failedTests+=("rpc-idle-clients")
|
|
echo "Done running rpc-idle-clients"
|
|
|
|
echo "Running simple-sync"
|
|
cd "${PROJECT_ROOT}/simple-sync/run" && ./run.sh || failedTests+=("simple-sync")
|
|
echo "Done running simple-sync"
|
|
|
|
echo "Running orphans"
|
|
cd "${PROJECT_ROOT}/orphans/run" && ./run.sh || failedTests+=("orphans")
|
|
echo "Done running orphans"
|
|
|
|
echo "Running many-tips"
|
|
cd "${PROJECT_ROOT}/many-tips/run" && ./run.sh || failedTests+=("many-tips")
|
|
echo "Done running many-tips"
|
|
|
|
echo "Running daa"
|
|
cd "${PROJECT_ROOT}/daa/run" && ./run.sh || failedTests+=("daa")
|
|
echo "Done running daa"
|
|
|
|
echo "Running reorg"
|
|
cd "${PROJECT_ROOT}/reorg/run" && ./run-full-finality-window-reorg.sh || failedTests+=("reorg")
|
|
echo "Done running reorg"
|
|
|
|
echo "Running mempool-limits"
|
|
cd "${PROJECT_ROOT}/mempool-limits/run" && ./run.sh || failedTests+=("mempool-limits")
|
|
echo "Done running mempool-limits"
|
|
|
|
echo "Running netsync - slow"
|
|
cd ${PROJECT_ROOT}/netsync/run"" && ./run.sh || failedTests+=("netsync")
|
|
echo "Done running netsync - slow"
|
|
|
|
EXIT_CODE=0
|
|
for t in "${failedTests[@]}"; do
|
|
EXIT_CODE=1
|
|
echo "FAILED: ${t}"
|
|
done
|
|
|
|
echo "Exiting with: ${EXIT_CODE}"
|
|
exit $EXIT_CODE |