new solc api:
* use legacy version matcher * optimise just a boolean flag * skipf for messages in tests
This commit is contained in:
parent
071e2cd08e
commit
3a5e7ed9a6
@ -35,8 +35,8 @@ import (
|
||||
)
|
||||
|
||||
var (
|
||||
versionRegExp = regexp.MustCompile("[0-9]+\\.[0-9]+\\.[0-9]+")
|
||||
newAPIRegexp = regexp.MustCompile("0\\.1\\.[2-9][0-9]*")
|
||||
versionRegexp = regexp.MustCompile("[0-9]+\\.[0-9]+\\.[0-9]+")
|
||||
legacyRegexp = regexp.MustCompile("0\\.(9\\..*|1\\.[01])")
|
||||
paramsLegacy = []string{
|
||||
"--binary", // Request to output the contract in binary (hexadecimal).
|
||||
"file", //
|
||||
@ -55,7 +55,7 @@ var (
|
||||
"--userdoc", // Request to output the contract's Natspec user documentation.
|
||||
"--devdoc", // Request to output the contract's Natspec developer documentation.
|
||||
"--add-std", // include standard lib contracts
|
||||
"--optimize=1", // code optimizer switched on
|
||||
"--optimize", // code optimizer switched on
|
||||
"-o", // output directory
|
||||
}
|
||||
)
|
||||
@ -102,8 +102,8 @@ func New(solcPath string) (sol *Solidity, err error) {
|
||||
}
|
||||
|
||||
fullVersion := out.String()
|
||||
version := versionRegExp.FindString(fullVersion)
|
||||
legacy := !newAPIRegexp.MatchString(version)
|
||||
version := versionRegexp.FindString(fullVersion)
|
||||
legacy := legacyRegexp.MatchString(version)
|
||||
|
||||
sol = &Solidity{
|
||||
solcPath: solcPath,
|
||||
|
@ -46,9 +46,9 @@ contract test {
|
||||
func TestCompiler(t *testing.T) {
|
||||
sol, err := New("")
|
||||
if err != nil {
|
||||
t.Skip("solc not found: skip: %v", err)
|
||||
t.Skipf("solc not found: %v", err)
|
||||
} else if sol.Version() != solcVersion {
|
||||
t.Skip("WARNING: skipping due to a newer version of solc found (%v, expect %v)", sol.Version(), solcVersion)
|
||||
t.Skipf("WARNING: a newer version of solc found (%v, expect %v)", sol.Version(), solcVersion)
|
||||
}
|
||||
contracts, err := sol.Compile(source)
|
||||
if err != nil {
|
||||
@ -83,7 +83,7 @@ func TestCompileError(t *testing.T) {
|
||||
func TestNoCompiler(t *testing.T) {
|
||||
_, err := New("/path/to/solc")
|
||||
if err != nil {
|
||||
t.Log("solidity quits with error: %v", err)
|
||||
t.Logf("solidity quits with error: %v", err)
|
||||
} else {
|
||||
t.Errorf("no solc installed, but got no error")
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user