// 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) } } } }