// Package testcmd provides test running commands. // // Note: Package named testcmd to avoid conflict with Go's test package. package testcmd import ( "github.com/host-uk/core/pkg/cli" "github.com/host-uk/core/pkg/i18n" "github.com/spf13/cobra" ) // Style aliases from shared var ( testHeaderStyle = cli.RepoStyle testPassStyle = cli.SuccessStyle testFailStyle = cli.ErrorStyle testSkipStyle = cli.WarningStyle testDimStyle = cli.DimStyle testCovHighStyle = cli.NewStyle().Foreground(cli.ColourGreen500) testCovMedStyle = cli.NewStyle().Foreground(cli.ColourAmber500) testCovLowStyle = cli.NewStyle().Foreground(cli.ColourRed500) ) // Flag variables for test command var ( testVerbose bool testCoverage bool testShort bool testPkg string testRun string testRace bool testJSON bool ) var testCmd = &cobra.Command{ Use: "test", Short: i18n.T("cmd.test.short"), Long: i18n.T("cmd.test.long"), RunE: func(cmd *cobra.Command, args []string) error { return runTest(testVerbose, testCoverage, testShort, testPkg, testRun, testRace, testJSON) }, } func initTestFlags() { testCmd.Flags().BoolVar(&testVerbose, "verbose", false, i18n.T("cmd.test.flag.verbose")) testCmd.Flags().BoolVar(&testCoverage, "coverage", false, i18n.T("common.flag.coverage")) testCmd.Flags().BoolVar(&testShort, "short", false, i18n.T("cmd.test.flag.short")) testCmd.Flags().StringVar(&testPkg, "pkg", "", i18n.T("cmd.test.flag.pkg")) testCmd.Flags().StringVar(&testRun, "run", "", i18n.T("cmd.test.flag.run")) testCmd.Flags().BoolVar(&testRace, "race", false, i18n.T("cmd.test.flag.race")) testCmd.Flags().BoolVar(&testJSON, "json", false, i18n.T("cmd.test.flag.json")) } // AddTestCommands registers the 'test' command and all subcommands. func AddTestCommands(root *cobra.Command) { initTestFlags() root.AddCommand(testCmd) }