github.com/lazyledger/lazyledger-core@v0.35.0-dev.0.20210613111200-4c651f053571/libs/fail/fail.go (about)

     1  package fail
     2  
     3  import (
     4  	"fmt"
     5  	"os"
     6  	"strconv"
     7  )
     8  
     9  func envSet() int {
    10  	callIndexToFailS := os.Getenv("FAIL_TEST_INDEX")
    11  
    12  	if callIndexToFailS == "" {
    13  		return -1
    14  	}
    15  
    16  	var err error
    17  	callIndexToFail, err := strconv.Atoi(callIndexToFailS)
    18  	if err != nil {
    19  		return -1
    20  	}
    21  
    22  	return callIndexToFail
    23  }
    24  
    25  // Fail when FAIL_TEST_INDEX == callIndex
    26  var callIndex int // indexes Fail calls
    27  
    28  func Fail() {
    29  	callIndexToFail := envSet()
    30  	if callIndexToFail < 0 {
    31  		return
    32  	}
    33  
    34  	if callIndex == callIndexToFail {
    35  		fmt.Printf("*** fail-test %d ***\n", callIndex)
    36  		os.Exit(1)
    37  	}
    38  
    39  	callIndex++
    40  }