// Automatically generated by MockGen. DO NOT EDIT!
// Source: executor.go

package selinux

import (
	exec "os/exec"

	gomock "github.com/golang/mock/gomock"
)

// Mock of Executor interface
type MockExecutor struct {
	ctrl     *gomock.Controller
	recorder *_MockExecutorRecorder
}

// Recorder for MockExecutor (not exported)
type _MockExecutorRecorder struct {
	mock *MockExecutor
}

func NewMockExecutor(ctrl *gomock.Controller) *MockExecutor {
	mock := &MockExecutor{ctrl: ctrl}
	mock.recorder = &_MockExecutorRecorder{mock}
	return mock
}

func (_m *MockExecutor) EXPECT() *_MockExecutorRecorder {
	return _m.recorder
}

func (_m *MockExecutor) NewSELinux() (SELinux, bool, error) {
	ret := _m.ctrl.Call(_m, "NewSELinux")
	ret0, _ := ret[0].(SELinux)
	ret1, _ := ret[1].(bool)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

func (_mr *_MockExecutorRecorder) NewSELinux() *gomock.Call {
	return _mr.mock.ctrl.RecordCall(_mr.mock, "NewSELinux")
}

func (_m *MockExecutor) FileLabel(filepath string) (string, error) {
	ret := _m.ctrl.Call(_m, "FileLabel", filepath)
	ret0, _ := ret[0].(string)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

func (_mr *_MockExecutorRecorder) FileLabel(arg0 interface{}) *gomock.Call {
	return _mr.mock.ctrl.RecordCall(_mr.mock, "FileLabel", arg0)
}

func (_m *MockExecutor) SetExecLabel(label string) error {
	ret := _m.ctrl.Call(_m, "SetExecLabel", label)
	ret0, _ := ret[0].(error)
	return ret0
}

func (_mr *_MockExecutorRecorder) SetExecLabel(arg0 interface{}) *gomock.Call {
	return _mr.mock.ctrl.RecordCall(_mr.mock, "SetExecLabel", arg0)
}

func (_m *MockExecutor) LockOSThread() {
	_m.ctrl.Call(_m, "LockOSThread")
}

func (_mr *_MockExecutorRecorder) LockOSThread() *gomock.Call {
	return _mr.mock.ctrl.RecordCall(_mr.mock, "LockOSThread")
}

func (_m *MockExecutor) UnlockOSThread() {
	_m.ctrl.Call(_m, "UnlockOSThread")
}

func (_mr *_MockExecutorRecorder) UnlockOSThread() *gomock.Call {
	return _mr.mock.ctrl.RecordCall(_mr.mock, "UnlockOSThread")
}

func (_m *MockExecutor) CloseOnExec(fd int) {
	_m.ctrl.Call(_m, "CloseOnExec", fd)
}

func (_mr *_MockExecutorRecorder) CloseOnExec(arg0 interface{}) *gomock.Call {
	return _mr.mock.ctrl.RecordCall(_mr.mock, "CloseOnExec", arg0)
}

func (_m *MockExecutor) Run(cmd *exec.Cmd) error {
	ret := _m.ctrl.Call(_m, "Run", cmd)
	ret0, _ := ret[0].(error)
	return ret0
}

func (_mr *_MockExecutorRecorder) Run(arg0 interface{}) *gomock.Call {
	return _mr.mock.ctrl.RecordCall(_mr.mock, "Run", arg0)
}
