github.com/kubeshop/testkube@v1.17.23/cmd/tcl/testworkflow-init/output/output.go (about)

     1  // Copyright 2024 Testkube.
     2  //
     3  // Licensed as a Testkube Pro file under the Testkube Community
     4  // License (the "License"); you may not use this file except in compliance with
     5  // the License. You may obtain a copy of the License at
     6  //
     7  //	https://github.com/kubeshop/testkube/blob/main/licenses/TCL.txt
     8  
     9  package output
    10  
    11  import (
    12  	"fmt"
    13  	"os"
    14  
    15  	"github.com/kubeshop/testkube/cmd/tcl/testworkflow-init/data"
    16  )
    17  
    18  func Failf(exitCode uint8, message string, args ...interface{}) {
    19  	// Print message
    20  	fmt.Printf(message+"\n", args...)
    21  
    22  	// Kill the sub-process
    23  	if data.Step.Cmd != nil && data.Step.Cmd.Process != nil {
    24  		_ = data.Step.Cmd.Process.Kill()
    25  	}
    26  
    27  	// Exit
    28  	os.Exit(int(exitCode))
    29  }