// Code generated by mockery v2.4.0-beta. DO NOT EDIT.

package mocks

import (
	executor "github.com/aws/amazon-ssm-agent/core/executor"
	model "github.com/aws/amazon-ssm-agent/core/workerprovider/longrunningprovider/model"
	mock "github.com/stretchr/testify/mock"
)

// IExecutor is an autogenerated mock type for the IExecutor type
type IExecutor struct {
	mock.Mock
}

// IsPidRunning provides a mock function with given fields: pid
func (_m *IExecutor) IsPidRunning(pid int) (bool, error) {
	ret := _m.Called(pid)

	var r0 bool
	if rf, ok := ret.Get(0).(func(int) bool); ok {
		r0 = rf(pid)
	} else {
		r0 = ret.Get(0).(bool)
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(int) error); ok {
		r1 = rf(pid)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// Kill provides a mock function with given fields: pid
func (_m *IExecutor) Kill(pid int) error {
	ret := _m.Called(pid)

	var r0 error
	if rf, ok := ret.Get(0).(func(int) error); ok {
		r0 = rf(pid)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// Processes provides a mock function with given fields:
func (_m *IExecutor) Processes() ([]executor.OsProcess, error) {
	ret := _m.Called()

	var r0 []executor.OsProcess
	if rf, ok := ret.Get(0).(func() []executor.OsProcess); ok {
		r0 = rf()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]executor.OsProcess)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// Start provides a mock function with given fields: _a0
func (_m *IExecutor) Start(_a0 *model.WorkerConfig) (*model.Process, error) {
	ret := _m.Called(_a0)

	var r0 *model.Process
	if rf, ok := ret.Get(0).(func(*model.WorkerConfig) *model.Process); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*model.Process)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*model.WorkerConfig) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}
