mirror of
https://github.com/kaspanet/kaspad.git
synced 2025-11-28 16:13:56 +00:00
Just some name changes, put in a stand in emission amount, and started copying the algo from Karlsen. Not release worthy yet. Therefore Dev branch exists now. Also, for now this is for research purposes only. I got no clue what to build on top of Kaspa yet. Help would be appreciated for ideas and implementations.
73 lines
2.4 KiB
Go
73 lines
2.4 KiB
Go
package config
|
|
|
|
import (
|
|
"io/ioutil"
|
|
"os"
|
|
"path/filepath"
|
|
"runtime"
|
|
"testing"
|
|
|
|
"github.com/zoomy-network/zoomyd/domain/consensus/utils/subnetworks"
|
|
|
|
"github.com/zoomy-network/zoomyd/domain/consensus/model/externalapi"
|
|
)
|
|
|
|
func TestCreateDefaultConfigFile(t *testing.T) {
|
|
// find out where the sample config lives
|
|
_, path, _, ok := runtime.Caller(0)
|
|
if !ok {
|
|
t.Fatalf("Failed finding config file path")
|
|
}
|
|
sampleConfigFile := filepath.Join(filepath.Dir(path), "sample-kaspad.conf")
|
|
|
|
// Setup a temporary directory
|
|
tmpDir, err := ioutil.TempDir("", "kaspad")
|
|
if err != nil {
|
|
t.Fatalf("Failed creating a temporary directory: %v", err)
|
|
}
|
|
testpath := filepath.Join(tmpDir, "test.conf")
|
|
|
|
// copy config file to location of kaspad binary
|
|
data, err := ioutil.ReadFile(sampleConfigFile)
|
|
if err != nil {
|
|
t.Fatalf("Failed reading sample config file: %v", err)
|
|
}
|
|
appPath, err := filepath.Abs(filepath.Dir(os.Args[0]))
|
|
if err != nil {
|
|
t.Fatalf("Failed obtaining app path: %v", err)
|
|
}
|
|
tmpConfigFile := filepath.Join(appPath, "sample-kaspad.conf")
|
|
err = ioutil.WriteFile(tmpConfigFile, data, 0644)
|
|
if err != nil {
|
|
t.Fatalf("Failed copying sample config file: %v", err)
|
|
}
|
|
|
|
// Clean-up
|
|
defer func() {
|
|
os.Remove(testpath)
|
|
os.Remove(tmpConfigFile)
|
|
os.Remove(tmpDir)
|
|
}()
|
|
|
|
err = createDefaultConfigFile(testpath)
|
|
if err != nil {
|
|
t.Fatalf("Failed to create a default config file: %v", err)
|
|
}
|
|
}
|
|
|
|
// TestConstants makes sure that all constants hard-coded into the help text were not modified.
|
|
func TestConstants(t *testing.T) {
|
|
zero := externalapi.DomainSubnetworkID{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
|
|
if subnetworks.SubnetworkIDNative != zero {
|
|
t.Errorf("subnetworks.SubnetworkIDNative value was changed from 0, therefore you probably need to update the help text for SubnetworkID")
|
|
}
|
|
one := externalapi.DomainSubnetworkID{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
|
|
if subnetworks.SubnetworkIDCoinbase != one {
|
|
t.Errorf("subnetworks.SubnetworkIDCoinbase value was changed from 1, therefore you probably need to update the help text for SubnetworkID")
|
|
}
|
|
two := externalapi.DomainSubnetworkID{2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
|
|
if subnetworks.SubnetworkIDRegistry != two {
|
|
t.Errorf("subnetworks.SubnetworkIDRegistry value was changed from 2, therefore you probably need to update the help text for SubnetworkID")
|
|
}
|
|
}
|