mirror of
https://github.com/tendermint/tendermint.git
synced 2026-01-03 03:35:19 +00:00
97 lines
2.3 KiB
Go
97 lines
2.3 KiB
Go
package test
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"path/filepath"
|
|
|
|
"github.com/tendermint/tendermint/config"
|
|
tmos "github.com/tendermint/tendermint/libs/os"
|
|
)
|
|
|
|
func ResetTestRoot(testName string) *config.Config {
|
|
return ResetTestRootWithChainID(testName, "")
|
|
}
|
|
|
|
func ResetTestRootWithChainID(testName string, chainID string) *config.Config {
|
|
// create a unique, concurrency-safe test directory under os.TempDir()
|
|
rootDir, err := os.MkdirTemp("", fmt.Sprintf("%s-%s_", chainID, testName))
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
config.EnsureRoot(rootDir)
|
|
|
|
baseConfig := config.DefaultBaseConfig()
|
|
genesisFilePath := filepath.Join(rootDir, baseConfig.Genesis)
|
|
privKeyFilePath := filepath.Join(rootDir, baseConfig.PrivValidatorKey)
|
|
privStateFilePath := filepath.Join(rootDir, baseConfig.PrivValidatorState)
|
|
|
|
if !tmos.FileExists(genesisFilePath) {
|
|
if chainID == "" {
|
|
chainID = DefaultTestChainID
|
|
}
|
|
testGenesis := fmt.Sprintf(testGenesisFmt, chainID)
|
|
tmos.MustWriteFile(genesisFilePath, []byte(testGenesis), 0644)
|
|
}
|
|
// we always overwrite the priv val
|
|
tmos.MustWriteFile(privKeyFilePath, []byte(testPrivValidatorKey), 0644)
|
|
tmos.MustWriteFile(privStateFilePath, []byte(testPrivValidatorState), 0644)
|
|
|
|
config := config.TestConfig().SetRoot(rootDir)
|
|
return config
|
|
}
|
|
|
|
var testGenesisFmt = `{
|
|
"genesis_time": "2018-10-10T08:20:13.695936996Z",
|
|
"chain_id": "%s",
|
|
"initial_height": "1",
|
|
"consensus_params": {
|
|
"block": {
|
|
"max_bytes": "22020096",
|
|
"max_gas": "-1",
|
|
"time_iota_ms": "10"
|
|
},
|
|
"evidence": {
|
|
"max_age_num_blocks": "100000",
|
|
"max_age_duration": "172800000000000",
|
|
"max_bytes": "1048576"
|
|
},
|
|
"validator": {
|
|
"pub_key_types": [
|
|
"ed25519"
|
|
]
|
|
},
|
|
"version": {}
|
|
},
|
|
"validators": [
|
|
{
|
|
"pub_key": {
|
|
"type": "tendermint/PubKeyEd25519",
|
|
"value":"AT/+aaL1eB0477Mud9JMm8Sh8BIvOYlPGC9KkIUmFaE="
|
|
},
|
|
"power": "10",
|
|
"name": ""
|
|
}
|
|
],
|
|
"app_hash": ""
|
|
}`
|
|
|
|
var testPrivValidatorKey = `{
|
|
"address": "A3258DCBF45DCA0DF052981870F2D1441A36D145",
|
|
"pub_key": {
|
|
"type": "tendermint/PubKeyEd25519",
|
|
"value": "AT/+aaL1eB0477Mud9JMm8Sh8BIvOYlPGC9KkIUmFaE="
|
|
},
|
|
"priv_key": {
|
|
"type": "tendermint/PrivKeyEd25519",
|
|
"value": "EVkqJO/jIXp3rkASXfh9YnyToYXRXhBr6g9cQVxPFnQBP/5povV4HTjvsy530kybxKHwEi85iU8YL0qQhSYVoQ=="
|
|
}
|
|
}`
|
|
|
|
var testPrivValidatorState = `{
|
|
"height": "0",
|
|
"round": 0,
|
|
"step": 0
|
|
}`
|