blob: abf491070f6944ebd3da0c984cef92fe31fdda72 [file] [log] [blame]
// Copyright 2023 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package inlheur
import (
"testing"
)
func TestInlScoreAdjFlagParse(t *testing.T) {
scenarios := []struct {
value string
expok bool
}{
{
value: "returnFeedsConcreteToInterfaceCallAdj:9",
expok: true,
},
{
value: "panicPathAdj:-1/initFuncAdj:9",
expok: true,
},
{
value: "",
expok: false,
},
{
value: "nonsenseAdj:10",
expok: false,
},
{
value: "inLoopAdj:",
expok: false,
},
{
value: "inLoopAdj:10:10",
expok: false,
},
{
value: "inLoopAdj:blah",
expok: false,
},
{
value: "/",
expok: false,
},
}
for _, scenario := range scenarios {
err := parseScoreAdj(scenario.value)
t.Logf("for value=%q err is %v\n", scenario.value, err)
if scenario.expok {
if err != nil {
t.Errorf("expected parseScoreAdj(%s) ok, got err %v",
scenario.value, err)
}
} else {
if err == nil {
t.Errorf("expected parseScoreAdj(%s) failure, got success",
scenario.value)
}
}
}
}