1
0
Fork 0
mirror of https://code.forgejo.org/forgejo/runner.git synced 2025-08-11 17:50:58 +00:00

test updates

Signed-off-by: Casey Lee <cplee@nektos.com>
This commit is contained in:
Casey Lee 2020-02-11 23:55:20 -08:00
parent c236395c01
commit eb7e10e86b
8 changed files with 33 additions and 24 deletions

View file

@ -6,5 +6,5 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
#- uses: ./.github/workflows/check - uses: ./.github/workflows/check
- uses: ./.github/workflows/integration #- uses: ./.github/workflows/integration

View file

@ -4,7 +4,7 @@ import (
"strings" "strings"
"testing" "testing"
"gotest.tools/assert" "github.com/stretchr/testify/assert"
) )
func TestReadWorkflow_StringEvent(t *testing.T) { func TestReadWorkflow_StringEvent(t *testing.T) {
@ -20,9 +20,10 @@ jobs:
` `
workflow, err := ReadWorkflow(strings.NewReader(yaml)) workflow, err := ReadWorkflow(strings.NewReader(yaml))
assert.NilError(t, err, "read workflow should succeed") assert.NoError(t, err, "read workflow should succeed")
assert.DeepEqual(t, workflow.On(), []string{"push"}) assert.Len(t, workflow.On(), 1)
assert.Contains(t, workflow.On(), "push")
} }
func TestReadWorkflow_ListEvent(t *testing.T) { func TestReadWorkflow_ListEvent(t *testing.T) {
@ -38,9 +39,11 @@ jobs:
` `
workflow, err := ReadWorkflow(strings.NewReader(yaml)) workflow, err := ReadWorkflow(strings.NewReader(yaml))
assert.NilError(t, err, "read workflow should succeed") assert.NoError(t, err, "read workflow should succeed")
assert.DeepEqual(t, workflow.On(), []string{"push", "pull_request"}) assert.Len(t, workflow.On(), 2)
assert.Contains(t, workflow.On(), "push")
assert.Contains(t, workflow.On(), "pull_request")
} }
func TestReadWorkflow_MapEvent(t *testing.T) { func TestReadWorkflow_MapEvent(t *testing.T) {
@ -62,7 +65,8 @@ jobs:
` `
workflow, err := ReadWorkflow(strings.NewReader(yaml)) workflow, err := ReadWorkflow(strings.NewReader(yaml))
assert.NilError(t, err, "read workflow should succeed") assert.NoError(t, err, "read workflow should succeed")
assert.Len(t, workflow.On(), 2)
assert.DeepEqual(t, workflow.On(), []string{"push", "pull_request"}) assert.Contains(t, workflow.On(), "push")
assert.Contains(t, workflow.On(), "pull_request")
} }

View file

@ -33,10 +33,10 @@ func TestAddpath(t *testing.T) {
rc := new(RunContext) rc := new(RunContext)
handler := rc.commandHandler(ctx) handler := rc.commandHandler(ctx)
handler("::add-path::/zoo") handler("::add-path::/zoo\n")
assert.Equal("/zoo:", rc.Env["PATH"]) assert.Equal("/zoo:", rc.Env["PATH"])
handler("::add-path::/booo") handler("::add-path::/booo\n")
assert.Equal("/booo:/zoo:", rc.Env["PATH"]) assert.Equal("/booo:/zoo:", rc.Env["PATH"])
} }

View file

@ -128,7 +128,11 @@ func (rc *RunContext) runContainer(containerSpec *model.ContainerSpec) common.Ex
rawLogger := common.Logger(ctx).WithField("raw_output", true) rawLogger := common.Logger(ctx).WithField("raw_output", true)
logWriter := common.NewLineWriter(rc.commandHandler(ctx), func(s string) { logWriter := common.NewLineWriter(rc.commandHandler(ctx), func(s string) {
if rc.Config.LogOutput {
rawLogger.Infof(s)
} else {
rawLogger.Debugf(s) rawLogger.Debugf(s)
}
}) })
return container.NewDockerRunExecutor(container.NewDockerRunExecutorInput{ return container.NewDockerRunExecutor(container.NewDockerRunExecutorInput{

View file

@ -22,6 +22,7 @@ type Config struct {
EventPath string // path to JSON file to use for event.json in containers EventPath string // path to JSON file to use for event.json in containers
ReuseContainers bool // reuse containers to maintain state ReuseContainers bool // reuse containers to maintain state
ForcePull bool // force pulling of the image, if already present ForcePull bool // force pulling of the image, if already present
LogOutput bool // log the output from docker run
} }
type runnerImpl struct { type runnerImpl struct {

View file

@ -37,8 +37,6 @@ func TestRunEvent(t *testing.T) {
eventName string eventName string
errorMessage string errorMessage string
}{ }{
{"runs-on", "push", ""},
/*
{"basic", "push", ""}, {"basic", "push", ""},
{"fail", "push", "exit with `FAILURE`: 1"}, {"fail", "push", "exit with `FAILURE`: 1"},
{"runs-on", "push", ""}, {"runs-on", "push", ""},
@ -48,7 +46,6 @@ func TestRunEvent(t *testing.T) {
{"remote-action-js", "push", ""}, {"remote-action-js", "push", ""},
{"local-action-docker-url", "push", ""}, {"local-action-docker-url", "push", ""},
{"local-action-dockerfile", "push", ""}, {"local-action-dockerfile", "push", ""},
*/
} }
log.SetLevel(log.DebugLevel) log.SetLevel(log.DebugLevel)

View file

@ -13,6 +13,7 @@ type Input struct {
reuseContainers bool reuseContainers bool
dryrun bool dryrun bool
forcePull bool forcePull bool
logOutput bool
} }
func (i *Input) resolve(path string) string { func (i *Input) resolve(path string) string {

View file

@ -36,6 +36,7 @@ func Execute(ctx context.Context, version string) {
rootCmd.PersistentFlags().StringVarP(&input.workflowsPath, "workflows", "W", "./.github/workflows/", "path to workflow files") rootCmd.PersistentFlags().StringVarP(&input.workflowsPath, "workflows", "W", "./.github/workflows/", "path to workflow files")
rootCmd.PersistentFlags().StringVarP(&input.workdir, "directory", "C", ".", "working directory") rootCmd.PersistentFlags().StringVarP(&input.workdir, "directory", "C", ".", "working directory")
rootCmd.PersistentFlags().BoolP("verbose", "v", false, "verbose output") rootCmd.PersistentFlags().BoolP("verbose", "v", false, "verbose output")
rootCmd.PersistentFlags().BoolVarP(&input.logOutput, "output", "o", false, "log output from steps")
rootCmd.PersistentFlags().BoolVarP(&input.dryrun, "dryrun", "n", false, "dryrun mode") rootCmd.PersistentFlags().BoolVarP(&input.dryrun, "dryrun", "n", false, "dryrun mode")
if err := rootCmd.Execute(); err != nil { if err := rootCmd.Execute(); err != nil {
os.Exit(1) os.Exit(1)
@ -94,6 +95,7 @@ func newRunCommand(ctx context.Context, input *Input) func(*cobra.Command, []str
ForcePull: input.forcePull, ForcePull: input.forcePull,
ReuseContainers: input.reuseContainers, ReuseContainers: input.reuseContainers,
Workdir: input.Workdir(), Workdir: input.Workdir(),
LogOutput: input.logOutput,
} }
runner, err := runner.New(config) runner, err := runner.New(config)
if err != nil { if err != nil {