step

package
v0.0.0-...-b1be0c6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 18, 2025 License: MIT Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const (
	XcbeautifyTool = "xcbeautify"
	XcodebuildTool = "xcodebuild"
	XcprettyTool   = "xcpretty"
)

Output tools

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	ProjectPath string
	Scheme      string
	TestPlan    string

	Simulator         destination.Device
	IsSimulatorBooted bool

	TestRepetitionMode            string
	MaximumTestRepetitions        int
	RelaunchTestForEachRepetition bool

	XCConfigContent    string
	PerformCleanAction bool
	XcodebuildOptions  []string

	LogFormatter        string
	LogFormatterOptions []string

	CacheLevel string

	CollectSimulatorDiagnostics exportCondition
	HeadlessMode                bool

	DeployDir string
}

type Input

type Input struct {
	ProjectPath string `env:"project_path,required"`
	Scheme      string `env:"scheme,required"`
	Destination string `env:"destination,required"`
	TestPlan    string `env:"test_plan"`

	// Test Repetition
	TestRepetitionMode             string `env:"test_repetition_mode,opt[none,until_failure,retry_on_failure,up_until_maximum_repetitions]"`
	MaximumTestRepetitions         int    `env:"maximum_test_repetitions,required"`
	RelaunchTestsForEachRepetition bool   `env:"relaunch_tests_for_each_repetition,opt[yes,no]"`

	// xcodebuild configuration
	XCConfigContent    string `env:"xcconfig_content"`
	PerformCleanAction bool   `env:"perform_clean_action,opt[yes,no]"`
	XcodebuildOptions  string `env:"xcodebuild_options"`

	// xcodebuild log formatting
	LogFormatter      string `env:"log_formatter,opt[xcbeautify,xcodebuild,xcpretty]"`
	XcprettyOptions   string `env:"xcpretty_options"`
	XcbeautifyOptions string `env:"xcbeautify_options"`

	// Caching
	CacheLevel string `env:"cache_level,opt[none,swift_packages]"`

	// Debugging
	VerboseLog                  bool   `env:"verbose_log,opt[yes,no]"`
	CollectSimulatorDiagnostics string `env:"collect_simulator_diagnostics,opt[always,on_failure,never]"`
	HeadlessMode                bool   `env:"headless_mode,opt[yes,no]"`

	// Output export
	DeployDir string `env:"BITRISE_DEPLOY_DIR"`
}

type Result

type Result struct {
	Scheme    string
	DeployDir string

	XcresultPath             string
	XcodebuildBuildLog       string
	XcodebuildTestLog        string
	SimulatorDiagnosticsPath string
}

type Utils

type Utils interface {
	PrintLastLinesOfXcodebuildTestLog(rawXcodebuildOutput string, isRunSuccess bool)
	CreateConfig(input Input, projectPath string, sim destination.Device, additionalOptions, additionalLogFormatterOptions []string) Config
	CreateTestParams(cfg Config, xcresultPath, swiftPackagesPath string) xcodebuild.TestRunParams
}

func NewUtils

func NewUtils(logger log.Logger) Utils

type XcodeTestConfigParser

type XcodeTestConfigParser struct {
	// contains filtered or unexported fields
}

func NewXcodeTestConfigParser

func NewXcodeTestConfigParser(inputParser stepconf.InputParser, logger log.Logger, deviceFinder destination.DeviceFinder, pathModifier pathutil.PathModifier, utils Utils) XcodeTestConfigParser

func (XcodeTestConfigParser) ProcessConfig

func (s XcodeTestConfigParser) ProcessConfig() (Config, error)

type XcodeTestRunner

type XcodeTestRunner struct {
	// contains filtered or unexported fields
}

func NewXcodeTestRunner

func NewXcodeTestRunner(logger log.Logger, commandFactory command.Factory, xcodebuild xcodebuild.Xcodebuild, simulatorManager simulator.Manager, cache cache.SwiftPackageCache, outputExporter output.Exporter, pathModifier pathutil.PathModifier, pathProvider pathutil.PathProvider, utils Utils) XcodeTestRunner

func (XcodeTestRunner) Export

func (s XcodeTestRunner) Export(result Result, testFailed bool) error

func (XcodeTestRunner) InstallDeps

func (s XcodeTestRunner) InstallDeps()

func (XcodeTestRunner) Run

func (s XcodeTestRunner) Run(cfg Config) (Result, error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL