mirror of
https://github.com/tendermint/tendermint.git
synced 2026-02-06 20:11:08 +00:00
The 0.35 release cycle renamed the 'fastsync' functionality to 'blocksync'. This change brings the configuration parameters in line with that change. Namely, it updates the configuration file `[fastsync]` field to be `[blocksync]` and changes the command line flag and config file parameters `--fast-sync` and `fast-sync` to `--enable-block-sync` and `enable-block-sync` respectively. Error messages were added to help users encountering these changes be able to quickly make the needed update to their files/scripts. When using the old command line argument for fast-sync, the following is printed ``` ./build/tendermint start --proxy-app=kvstore --consensus.create-empty-blocks=false --fast-sync=false ERROR: invalid argument "false" for "--fast-sync" flag: --fast-sync has been deprecated, please use --enable-block-sync ``` When using one of the old config file parameters, the following is printed: ``` ./build/tendermint start --proxy-app=kvstore --consensus.create-empty-blocks=false ERROR: error in config file: a configuration parameter named 'fast-sync' was found in the configuration file. The 'fast-sync' parameter has been renamed to 'enable-block-sync', please update the 'fast-sync' field in your configuration file to 'enable-block-sync' ```
91 lines
1.8 KiB
Go
91 lines
1.8 KiB
Go
package config
|
|
|
|
import (
|
|
"io/ioutil"
|
|
"os"
|
|
"path/filepath"
|
|
"strings"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func ensureFiles(t *testing.T, rootDir string, files ...string) {
|
|
for _, f := range files {
|
|
p := rootify(rootDir, f)
|
|
_, err := os.Stat(p)
|
|
assert.Nil(t, err, p)
|
|
}
|
|
}
|
|
|
|
func TestEnsureRoot(t *testing.T) {
|
|
require := require.New(t)
|
|
|
|
// setup temp dir for test
|
|
tmpDir, err := ioutil.TempDir("", "config-test")
|
|
require.Nil(err)
|
|
defer os.RemoveAll(tmpDir)
|
|
|
|
// create root dir
|
|
EnsureRoot(tmpDir)
|
|
|
|
WriteConfigFile(tmpDir, DefaultConfig())
|
|
|
|
// make sure config is set properly
|
|
data, err := ioutil.ReadFile(filepath.Join(tmpDir, defaultConfigFilePath))
|
|
require.Nil(err)
|
|
|
|
checkConfig(t, string(data))
|
|
|
|
ensureFiles(t, tmpDir, "data")
|
|
}
|
|
|
|
func TestEnsureTestRoot(t *testing.T) {
|
|
require := require.New(t)
|
|
|
|
testName := "ensureTestRoot"
|
|
|
|
// create root dir
|
|
cfg := ResetTestRoot(testName)
|
|
defer os.RemoveAll(cfg.RootDir)
|
|
rootDir := cfg.RootDir
|
|
|
|
// make sure config is set properly
|
|
data, err := ioutil.ReadFile(filepath.Join(rootDir, defaultConfigFilePath))
|
|
require.Nil(err)
|
|
|
|
checkConfig(t, string(data))
|
|
|
|
// TODO: make sure the cfg returned and testconfig are the same!
|
|
baseConfig := DefaultBaseConfig()
|
|
pvConfig := DefaultPrivValidatorConfig()
|
|
ensureFiles(t, rootDir, defaultDataDir, baseConfig.Genesis, pvConfig.Key, pvConfig.State)
|
|
}
|
|
|
|
func checkConfig(t *testing.T, configFile string) {
|
|
t.Helper()
|
|
// list of words we expect in the config
|
|
var elems = []string{
|
|
"moniker",
|
|
"seeds",
|
|
"proxy-app",
|
|
"blocksync",
|
|
"create-empty-blocks",
|
|
"peer",
|
|
"timeout",
|
|
"broadcast",
|
|
"send",
|
|
"addr",
|
|
"wal",
|
|
"propose",
|
|
"max",
|
|
"genesis",
|
|
}
|
|
for _, e := range elems {
|
|
if !strings.Contains(configFile, e) {
|
|
t.Errorf("config file was expected to contain %s but did not", e)
|
|
}
|
|
}
|
|
}
|