grim/convey

21a0c5f85e7d
Parents 65b7657346f9
Children cf13ffd0f7c7
Ensure state is constructed correctly.
  • +9 -10
    main.go
  • +4 -0
    state/state.go
  • --- a/main.go Sun Oct 01 22:09:11 2017 -0500
    +++ b/main.go Sun Oct 01 22:13:33 2017 -0500
    @@ -131,17 +131,16 @@
    os.Exit(1)
    }
    - st := &state.State{
    - KeepWorkspace: *keep,
    - ForceSequential: *forceSequential,
    - EnableSSHAgent: enableSSHAgent,
    - TaskTimeout: *taskTimeout,
    - Environment: environment.Merge(defEnv, *env),
    + st := state.New()
    + st.KeepWorkspace = *keep
    + st.ForceSequential = *forceSequential
    + st.EnableSSHAgent = enableSSHAgent
    + st.TaskTimeout = *taskTimeout
    + st.Environment = environment.Merge(defEnv, *env)
    + st.DockerConfig = *dockerConfig
    + st.CPUShares = *cpuShares
    + st.Memory = *memory
    - DockerConfig: *dockerConfig,
    - CPUShares: *cpuShares,
    - Memory: *memory,
    - }
    if err := st.Valid(); err != nil {
    fmt.Printf("%s\n", err)
    --- a/state/state.go Sun Oct 01 22:09:11 2017 -0500
    +++ b/state/state.go Sun Oct 01 22:13:33 2017 -0500
    @@ -70,6 +70,10 @@
    }
    func (st *State) Valid() error {
    + if st.parent == nil && (st.detachedContainers == nil || st.mutex == nil) {
    + return fmt.Errorf("state must be constructed via New")
    + }
    +
    if st.EnableSSHAgent {
    if val := os.Getenv("SSH_AUTH_SOCK"); val == "" {
    return fmt.Errorf("ssh-agent forwarding requested, but agent not running")