make libvirt error types private
also change ErrIsNotFound to IsNotFound Signed-off-by: Penghui Liao <liaoishere@gmail.com>
This commit is contained in:
		
							
								
								
									
										356
									
								
								const.gen.go
									
									
									
									
									
								
							
							
						
						
									
										356
									
								
								const.gen.go
									
									
									
									
									
								
							| @@ -1964,192 +1964,192 @@ const ( | ||||
| 	StreamEventHangup   StreamEventType = 8 | ||||
| ) | ||||
|  | ||||
| // ErrorLevel as declared in libvirt/virterror.h:44 | ||||
| type ErrorLevel int32 | ||||
| // errorLevel as declared in libvirt/virterror.h:44 | ||||
| type errorLevel int32 | ||||
|  | ||||
| // ErrorLevel enumeration from libvirt/virterror.h:44 | ||||
| // errorLevel enumeration from libvirt/virterror.h:44 | ||||
| const ( | ||||
| 	ErrNone    ErrorLevel = iota | ||||
| 	ErrWarning ErrorLevel = 1 | ||||
| 	ErrError   ErrorLevel = 2 | ||||
| 	errNone    errorLevel = iota | ||||
| 	errWarning errorLevel = 1 | ||||
| 	errError   errorLevel = 2 | ||||
| ) | ||||
|  | ||||
| // ErrorDomain as declared in libvirt/virterror.h:139 | ||||
| type ErrorDomain int32 | ||||
| // errorDomain as declared in libvirt/virterror.h:139 | ||||
| type errorDomain int32 | ||||
|  | ||||
| // ErrorDomain enumeration from libvirt/virterror.h:139 | ||||
| // errorDomain enumeration from libvirt/virterror.h:139 | ||||
| const ( | ||||
| 	FromNone           ErrorDomain = iota | ||||
| 	FromXen            ErrorDomain = 1 | ||||
| 	FromXend           ErrorDomain = 2 | ||||
| 	FromXenstore       ErrorDomain = 3 | ||||
| 	FromSexpr          ErrorDomain = 4 | ||||
| 	FromXML            ErrorDomain = 5 | ||||
| 	FromDom            ErrorDomain = 6 | ||||
| 	FromRPC            ErrorDomain = 7 | ||||
| 	FromProxy          ErrorDomain = 8 | ||||
| 	FromConf           ErrorDomain = 9 | ||||
| 	FromQemu           ErrorDomain = 10 | ||||
| 	FromNet            ErrorDomain = 11 | ||||
| 	FromTest           ErrorDomain = 12 | ||||
| 	FromRemote         ErrorDomain = 13 | ||||
| 	FromOpenvz         ErrorDomain = 14 | ||||
| 	FromXenxm          ErrorDomain = 15 | ||||
| 	FromStatsLinux     ErrorDomain = 16 | ||||
| 	FromLxc            ErrorDomain = 17 | ||||
| 	FromStorage        ErrorDomain = 18 | ||||
| 	FromNetwork        ErrorDomain = 19 | ||||
| 	FromDomain         ErrorDomain = 20 | ||||
| 	FromUml            ErrorDomain = 21 | ||||
| 	FromNodedev        ErrorDomain = 22 | ||||
| 	FromXenInotify     ErrorDomain = 23 | ||||
| 	FromSecurity       ErrorDomain = 24 | ||||
| 	FromVbox           ErrorDomain = 25 | ||||
| 	FromInterface      ErrorDomain = 26 | ||||
| 	FromOne            ErrorDomain = 27 | ||||
| 	FromEsx            ErrorDomain = 28 | ||||
| 	FromPhyp           ErrorDomain = 29 | ||||
| 	FromSecret         ErrorDomain = 30 | ||||
| 	FromCPU            ErrorDomain = 31 | ||||
| 	FromXenapi         ErrorDomain = 32 | ||||
| 	FromNwfilter       ErrorDomain = 33 | ||||
| 	FromHook           ErrorDomain = 34 | ||||
| 	FromDomainSnapshot ErrorDomain = 35 | ||||
| 	FromAudit          ErrorDomain = 36 | ||||
| 	FromSysinfo        ErrorDomain = 37 | ||||
| 	FromStreams        ErrorDomain = 38 | ||||
| 	FromVmware         ErrorDomain = 39 | ||||
| 	FromEvent          ErrorDomain = 40 | ||||
| 	FromLibxl          ErrorDomain = 41 | ||||
| 	FromLocking        ErrorDomain = 42 | ||||
| 	FromHyperv         ErrorDomain = 43 | ||||
| 	FromCapabilities   ErrorDomain = 44 | ||||
| 	FromURI            ErrorDomain = 45 | ||||
| 	FromAuth           ErrorDomain = 46 | ||||
| 	FromDbus           ErrorDomain = 47 | ||||
| 	FromParallels      ErrorDomain = 48 | ||||
| 	FromDevice         ErrorDomain = 49 | ||||
| 	FromSSH            ErrorDomain = 50 | ||||
| 	FromLockspace      ErrorDomain = 51 | ||||
| 	FromInitctl        ErrorDomain = 52 | ||||
| 	FromIdentity       ErrorDomain = 53 | ||||
| 	FromCgroup         ErrorDomain = 54 | ||||
| 	FromAccess         ErrorDomain = 55 | ||||
| 	FromSystemd        ErrorDomain = 56 | ||||
| 	FromBhyve          ErrorDomain = 57 | ||||
| 	FromCrypto         ErrorDomain = 58 | ||||
| 	FromFirewall       ErrorDomain = 59 | ||||
| 	FromPolkit         ErrorDomain = 60 | ||||
| 	FromThread         ErrorDomain = 61 | ||||
| 	FromAdmin          ErrorDomain = 62 | ||||
| 	FromLogging        ErrorDomain = 63 | ||||
| 	FromXenxl          ErrorDomain = 64 | ||||
| 	FromPerf           ErrorDomain = 65 | ||||
| 	FromLibssh         ErrorDomain = 66 | ||||
| 	fromNone           errorDomain = iota | ||||
| 	fromXen            errorDomain = 1 | ||||
| 	fromXend           errorDomain = 2 | ||||
| 	fromXenstore       errorDomain = 3 | ||||
| 	fromSexpr          errorDomain = 4 | ||||
| 	fromXML            errorDomain = 5 | ||||
| 	fromDom            errorDomain = 6 | ||||
| 	fromRPC            errorDomain = 7 | ||||
| 	fromProxy          errorDomain = 8 | ||||
| 	fromConf           errorDomain = 9 | ||||
| 	fromQemu           errorDomain = 10 | ||||
| 	fromNet            errorDomain = 11 | ||||
| 	fromTest           errorDomain = 12 | ||||
| 	fromRemote         errorDomain = 13 | ||||
| 	fromOpenvz         errorDomain = 14 | ||||
| 	fromXenxm          errorDomain = 15 | ||||
| 	fromStatsLinux     errorDomain = 16 | ||||
| 	fromLxc            errorDomain = 17 | ||||
| 	fromStorage        errorDomain = 18 | ||||
| 	fromNetwork        errorDomain = 19 | ||||
| 	fromDomain         errorDomain = 20 | ||||
| 	fromUml            errorDomain = 21 | ||||
| 	fromNodedev        errorDomain = 22 | ||||
| 	fromXenInotify     errorDomain = 23 | ||||
| 	fromSecurity       errorDomain = 24 | ||||
| 	fromVbox           errorDomain = 25 | ||||
| 	fromInterface      errorDomain = 26 | ||||
| 	fromOne            errorDomain = 27 | ||||
| 	fromEsx            errorDomain = 28 | ||||
| 	fromPhyp           errorDomain = 29 | ||||
| 	fromSecret         errorDomain = 30 | ||||
| 	fromCPU            errorDomain = 31 | ||||
| 	fromXenapi         errorDomain = 32 | ||||
| 	fromNwfilter       errorDomain = 33 | ||||
| 	fromHook           errorDomain = 34 | ||||
| 	fromDomainSnapshot errorDomain = 35 | ||||
| 	fromAudit          errorDomain = 36 | ||||
| 	fromSysinfo        errorDomain = 37 | ||||
| 	fromStreams        errorDomain = 38 | ||||
| 	fromVmware         errorDomain = 39 | ||||
| 	fromEvent          errorDomain = 40 | ||||
| 	fromLibxl          errorDomain = 41 | ||||
| 	fromLocking        errorDomain = 42 | ||||
| 	fromHyperv         errorDomain = 43 | ||||
| 	fromCapabilities   errorDomain = 44 | ||||
| 	fromURI            errorDomain = 45 | ||||
| 	fromAuth           errorDomain = 46 | ||||
| 	fromDbus           errorDomain = 47 | ||||
| 	fromParallels      errorDomain = 48 | ||||
| 	fromDevice         errorDomain = 49 | ||||
| 	fromSSH            errorDomain = 50 | ||||
| 	fromLockspace      errorDomain = 51 | ||||
| 	fromInitctl        errorDomain = 52 | ||||
| 	fromIdentity       errorDomain = 53 | ||||
| 	fromCgroup         errorDomain = 54 | ||||
| 	fromAccess         errorDomain = 55 | ||||
| 	fromSystemd        errorDomain = 56 | ||||
| 	fromBhyve          errorDomain = 57 | ||||
| 	fromCrypto         errorDomain = 58 | ||||
| 	fromFirewall       errorDomain = 59 | ||||
| 	fromPolkit         errorDomain = 60 | ||||
| 	fromThread         errorDomain = 61 | ||||
| 	fromAdmin          errorDomain = 62 | ||||
| 	fromLogging        errorDomain = 63 | ||||
| 	fromXenxl          errorDomain = 64 | ||||
| 	fromPerf           errorDomain = 65 | ||||
| 	fromLibssh         errorDomain = 66 | ||||
| ) | ||||
|  | ||||
| // ErrorNumber as declared in libvirt/virterror.h:322 | ||||
| type ErrorNumber int32 | ||||
| // errorNumber as declared in libvirt/virterror.h:322 | ||||
| type errorNumber int32 | ||||
|  | ||||
| // ErrorNumber enumeration from libvirt/virterror.h:322 | ||||
| // errorNumber enumeration from libvirt/virterror.h:322 | ||||
| const ( | ||||
| 	ErrOk                    ErrorNumber = iota | ||||
| 	ErrInternalError         ErrorNumber = 1 | ||||
| 	ErrNoMemory              ErrorNumber = 2 | ||||
| 	ErrNoSupport             ErrorNumber = 3 | ||||
| 	ErrUnknownHost           ErrorNumber = 4 | ||||
| 	ErrNoConnect             ErrorNumber = 5 | ||||
| 	ErrInvalidConn           ErrorNumber = 6 | ||||
| 	ErrInvalidDomain         ErrorNumber = 7 | ||||
| 	ErrInvalidArg            ErrorNumber = 8 | ||||
| 	ErrOperationFailed       ErrorNumber = 9 | ||||
| 	ErrGetFailed             ErrorNumber = 10 | ||||
| 	ErrPostFailed            ErrorNumber = 11 | ||||
| 	ErrHTTPError             ErrorNumber = 12 | ||||
| 	ErrSexprSerial           ErrorNumber = 13 | ||||
| 	ErrNoXen                 ErrorNumber = 14 | ||||
| 	ErrXenCall               ErrorNumber = 15 | ||||
| 	ErrOsType                ErrorNumber = 16 | ||||
| 	ErrNoKernel              ErrorNumber = 17 | ||||
| 	ErrNoRoot                ErrorNumber = 18 | ||||
| 	ErrNoSource              ErrorNumber = 19 | ||||
| 	ErrNoTarget              ErrorNumber = 20 | ||||
| 	ErrNoName                ErrorNumber = 21 | ||||
| 	ErrNoOs                  ErrorNumber = 22 | ||||
| 	ErrNoDevice              ErrorNumber = 23 | ||||
| 	ErrNoXenstore            ErrorNumber = 24 | ||||
| 	ErrDriverFull            ErrorNumber = 25 | ||||
| 	ErrCallFailed            ErrorNumber = 26 | ||||
| 	ErrXMLError              ErrorNumber = 27 | ||||
| 	ErrDomExist              ErrorNumber = 28 | ||||
| 	ErrOperationDenied       ErrorNumber = 29 | ||||
| 	ErrOpenFailed            ErrorNumber = 30 | ||||
| 	ErrReadFailed            ErrorNumber = 31 | ||||
| 	ErrParseFailed           ErrorNumber = 32 | ||||
| 	ErrConfSyntax            ErrorNumber = 33 | ||||
| 	ErrWriteFailed           ErrorNumber = 34 | ||||
| 	ErrXMLDetail             ErrorNumber = 35 | ||||
| 	ErrInvalidNetwork        ErrorNumber = 36 | ||||
| 	ErrNetworkExist          ErrorNumber = 37 | ||||
| 	ErrSystemError           ErrorNumber = 38 | ||||
| 	ErrRPC                   ErrorNumber = 39 | ||||
| 	ErrGnutlsError           ErrorNumber = 40 | ||||
| 	WarNoNetwork             ErrorNumber = 41 | ||||
| 	ErrNoDomain              ErrorNumber = 42 | ||||
| 	ErrNoNetwork             ErrorNumber = 43 | ||||
| 	ErrInvalidMac            ErrorNumber = 44 | ||||
| 	ErrAuthFailed            ErrorNumber = 45 | ||||
| 	ErrInvalidStoragePool    ErrorNumber = 46 | ||||
| 	ErrInvalidStorageVol     ErrorNumber = 47 | ||||
| 	WarNoStorage             ErrorNumber = 48 | ||||
| 	ErrNoStoragePool         ErrorNumber = 49 | ||||
| 	ErrNoStorageVol          ErrorNumber = 50 | ||||
| 	WarNoNode                ErrorNumber = 51 | ||||
| 	ErrInvalidNodeDevice     ErrorNumber = 52 | ||||
| 	ErrNoNodeDevice          ErrorNumber = 53 | ||||
| 	ErrNoSecurityModel       ErrorNumber = 54 | ||||
| 	ErrOperationInvalid      ErrorNumber = 55 | ||||
| 	WarNoInterface           ErrorNumber = 56 | ||||
| 	ErrNoInterface           ErrorNumber = 57 | ||||
| 	ErrInvalidInterface      ErrorNumber = 58 | ||||
| 	ErrMultipleInterfaces    ErrorNumber = 59 | ||||
| 	WarNoNwfilter            ErrorNumber = 60 | ||||
| 	ErrInvalidNwfilter       ErrorNumber = 61 | ||||
| 	ErrNoNwfilter            ErrorNumber = 62 | ||||
| 	ErrBuildFirewall         ErrorNumber = 63 | ||||
| 	WarNoSecret              ErrorNumber = 64 | ||||
| 	ErrInvalidSecret         ErrorNumber = 65 | ||||
| 	ErrNoSecret              ErrorNumber = 66 | ||||
| 	ErrConfigUnsupported     ErrorNumber = 67 | ||||
| 	ErrOperationTimeout      ErrorNumber = 68 | ||||
| 	ErrMigratePersistFailed  ErrorNumber = 69 | ||||
| 	ErrHookScriptFailed      ErrorNumber = 70 | ||||
| 	ErrInvalidDomainSnapshot ErrorNumber = 71 | ||||
| 	ErrNoDomainSnapshot      ErrorNumber = 72 | ||||
| 	ErrInvalidStream         ErrorNumber = 73 | ||||
| 	ErrArgumentUnsupported   ErrorNumber = 74 | ||||
| 	ErrStorageProbeFailed    ErrorNumber = 75 | ||||
| 	ErrStoragePoolBuilt      ErrorNumber = 76 | ||||
| 	ErrSnapshotRevertRisky   ErrorNumber = 77 | ||||
| 	ErrOperationAborted      ErrorNumber = 78 | ||||
| 	ErrAuthCancelled         ErrorNumber = 79 | ||||
| 	ErrNoDomainMetadata      ErrorNumber = 80 | ||||
| 	ErrMigrateUnsafe         ErrorNumber = 81 | ||||
| 	ErrOverflow              ErrorNumber = 82 | ||||
| 	ErrBlockCopyActive       ErrorNumber = 83 | ||||
| 	ErrOperationUnsupported  ErrorNumber = 84 | ||||
| 	ErrSSH                   ErrorNumber = 85 | ||||
| 	ErrAgentUnresponsive     ErrorNumber = 86 | ||||
| 	ErrResourceBusy          ErrorNumber = 87 | ||||
| 	ErrAccessDenied          ErrorNumber = 88 | ||||
| 	ErrDbusService           ErrorNumber = 89 | ||||
| 	ErrStorageVolExist       ErrorNumber = 90 | ||||
| 	ErrCPUIncompatible       ErrorNumber = 91 | ||||
| 	ErrXMLInvalidSchema      ErrorNumber = 92 | ||||
| 	ErrMigrateFinishOk       ErrorNumber = 93 | ||||
| 	ErrAuthUnavailable       ErrorNumber = 94 | ||||
| 	ErrNoServer              ErrorNumber = 95 | ||||
| 	ErrNoClient              ErrorNumber = 96 | ||||
| 	ErrAgentUnsynced         ErrorNumber = 97 | ||||
| 	ErrLibssh                ErrorNumber = 98 | ||||
| 	errOk                    errorNumber = iota | ||||
| 	errInternalError         errorNumber = 1 | ||||
| 	errNoMemory              errorNumber = 2 | ||||
| 	errNoSupport             errorNumber = 3 | ||||
| 	errUnknownHost           errorNumber = 4 | ||||
| 	errNoConnect             errorNumber = 5 | ||||
| 	errInvalidConn           errorNumber = 6 | ||||
| 	errInvalidDomain         errorNumber = 7 | ||||
| 	errInvalidArg            errorNumber = 8 | ||||
| 	errOperationFailed       errorNumber = 9 | ||||
| 	errGetFailed             errorNumber = 10 | ||||
| 	errPostFailed            errorNumber = 11 | ||||
| 	errHTTPError             errorNumber = 12 | ||||
| 	errSexprSerial           errorNumber = 13 | ||||
| 	errNoXen                 errorNumber = 14 | ||||
| 	errXenCall               errorNumber = 15 | ||||
| 	errOsType                errorNumber = 16 | ||||
| 	errNoKernel              errorNumber = 17 | ||||
| 	errNoRoot                errorNumber = 18 | ||||
| 	errNoSource              errorNumber = 19 | ||||
| 	errNoTarget              errorNumber = 20 | ||||
| 	errNoName                errorNumber = 21 | ||||
| 	errNoOs                  errorNumber = 22 | ||||
| 	errNoDevice              errorNumber = 23 | ||||
| 	errNoXenstore            errorNumber = 24 | ||||
| 	errDriverFull            errorNumber = 25 | ||||
| 	errCallFailed            errorNumber = 26 | ||||
| 	errXMLError              errorNumber = 27 | ||||
| 	errDomExist              errorNumber = 28 | ||||
| 	errOperationDenied       errorNumber = 29 | ||||
| 	errOpenFailed            errorNumber = 30 | ||||
| 	errReadFailed            errorNumber = 31 | ||||
| 	errParseFailed           errorNumber = 32 | ||||
| 	errConfSyntax            errorNumber = 33 | ||||
| 	errWriteFailed           errorNumber = 34 | ||||
| 	errXMLDetail             errorNumber = 35 | ||||
| 	errInvalidNetwork        errorNumber = 36 | ||||
| 	errNetworkExist          errorNumber = 37 | ||||
| 	errSystemError           errorNumber = 38 | ||||
| 	errRPC                   errorNumber = 39 | ||||
| 	errGnutlsError           errorNumber = 40 | ||||
| 	warNoNetwork             errorNumber = 41 | ||||
| 	errNoDomain              errorNumber = 42 | ||||
| 	errNoNetwork             errorNumber = 43 | ||||
| 	errInvalidMac            errorNumber = 44 | ||||
| 	errAuthFailed            errorNumber = 45 | ||||
| 	errInvalidStoragePool    errorNumber = 46 | ||||
| 	errInvalidStorageVol     errorNumber = 47 | ||||
| 	warNoStorage             errorNumber = 48 | ||||
| 	errNoStoragePool         errorNumber = 49 | ||||
| 	errNoStorageVol          errorNumber = 50 | ||||
| 	warNoNode                errorNumber = 51 | ||||
| 	errInvalidNodeDevice     errorNumber = 52 | ||||
| 	errNoNodeDevice          errorNumber = 53 | ||||
| 	errNoSecurityModel       errorNumber = 54 | ||||
| 	errOperationInvalid      errorNumber = 55 | ||||
| 	warNoInterface           errorNumber = 56 | ||||
| 	errNoInterface           errorNumber = 57 | ||||
| 	errInvalidInterface      errorNumber = 58 | ||||
| 	errMultipleInterfaces    errorNumber = 59 | ||||
| 	warNoNwfilter            errorNumber = 60 | ||||
| 	errInvalidNwfilter       errorNumber = 61 | ||||
| 	errNoNwfilter            errorNumber = 62 | ||||
| 	errBuildFirewall         errorNumber = 63 | ||||
| 	warNoSecret              errorNumber = 64 | ||||
| 	errInvalidSecret         errorNumber = 65 | ||||
| 	errNoSecret              errorNumber = 66 | ||||
| 	errConfigUnsupported     errorNumber = 67 | ||||
| 	errOperationTimeout      errorNumber = 68 | ||||
| 	errMigratePersistFailed  errorNumber = 69 | ||||
| 	errHookScriptFailed      errorNumber = 70 | ||||
| 	errInvalidDomainSnapshot errorNumber = 71 | ||||
| 	errNoDomainSnapshot      errorNumber = 72 | ||||
| 	errInvalidStream         errorNumber = 73 | ||||
| 	errArgumentUnsupported   errorNumber = 74 | ||||
| 	errStorageProbeFailed    errorNumber = 75 | ||||
| 	errStoragePoolBuilt      errorNumber = 76 | ||||
| 	errSnapshotRevertRisky   errorNumber = 77 | ||||
| 	errOperationAborted      errorNumber = 78 | ||||
| 	errAuthCancelled         errorNumber = 79 | ||||
| 	errNoDomainMetadata      errorNumber = 80 | ||||
| 	errMigrateUnsafe         errorNumber = 81 | ||||
| 	errOverflow              errorNumber = 82 | ||||
| 	errBlockCopyActive       errorNumber = 83 | ||||
| 	errOperationUnsupported  errorNumber = 84 | ||||
| 	errSSH                   errorNumber = 85 | ||||
| 	errAgentUnresponsive     errorNumber = 86 | ||||
| 	errResourceBusy          errorNumber = 87 | ||||
| 	errAccessDenied          errorNumber = 88 | ||||
| 	errDbusService           errorNumber = 89 | ||||
| 	errStorageVolExist       errorNumber = 90 | ||||
| 	errCPUIncompatible       errorNumber = 91 | ||||
| 	errXMLInvalidSchema      errorNumber = 92 | ||||
| 	errMigrateFinishOk       errorNumber = 93 | ||||
| 	errAuthUnavailable       errorNumber = 94 | ||||
| 	errNoServer              errorNumber = 95 | ||||
| 	errNoClient              errorNumber = 96 | ||||
| 	errAgentUnsynced         errorNumber = 97 | ||||
| 	errLibssh                errorNumber = 98 | ||||
| ) | ||||
|   | ||||
| @@ -56,6 +56,7 @@ TRANSLATOR: | ||||
|             - {action: replace, from: "Rpc([A-Z]|$)", to: "RPC$1"} | ||||
|             - {action: replace, from: "Ssh([A-Z]|$)", to: "SSH$1"} | ||||
|             - {action: replace, from: "Http([A-Z]|$)", to: "HTTP$1"} | ||||
|             - {transform: unexport, from: "^(Err|From|War)"} | ||||
|         const: | ||||
|             - {action: accept, from: "^VIR_"} | ||||
|             # Special case to prevent a collision with a type: | ||||
|   | ||||
							
								
								
									
										20
									
								
								rpc.go
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								rpc.go
									
									
									
									
									
								
							| @@ -18,7 +18,6 @@ import ( | ||||
| 	"bytes" | ||||
| 	"encoding/binary" | ||||
| 	"errors" | ||||
| 	"fmt" | ||||
| 	"io" | ||||
| 	"strings" | ||||
| 	"sync/atomic" | ||||
| @@ -115,10 +114,10 @@ type libvirtError struct { | ||||
| } | ||||
|  | ||||
| func (e libvirtError) Error() string { | ||||
| 	return fmt.Sprintf("%s, code: %d, domain id: %d", e.Message, e.Code, e.DomainID) | ||||
| 	return e.Message | ||||
| } | ||||
|  | ||||
| func checkError(err error, expectedError ErrorNumber) bool { | ||||
| func checkError(err error, expectedError errorNumber) bool { | ||||
| 	e, ok := err.(libvirtError) | ||||
| 	if ok { | ||||
| 		return e.Code == uint32(expectedError) | ||||
| @@ -126,14 +125,9 @@ func checkError(err error, expectedError ErrorNumber) bool { | ||||
| 	return false | ||||
| } | ||||
|  | ||||
| // ErrIsNotFound detects libvirt's ERR_NO_DOMAIN. | ||||
| func ErrIsNotFound(err error) bool { | ||||
| 	return checkError(err, ErrNoDomain) | ||||
| } | ||||
|  | ||||
| // ErrIsOK detects libvirt's ERR_OK. | ||||
| func ErrIsOK(err error) bool { | ||||
| 	return checkError(err, ErrOk) | ||||
| // IsNotFound detects libvirt's ERR_NO_DOMAIN. | ||||
| func IsNotFound(err error) bool { | ||||
| 	return checkError(err, errNoDomain) | ||||
| } | ||||
|  | ||||
| // listen processes incoming data and routes | ||||
| @@ -351,6 +345,10 @@ func decodeError(buf []byte) error { | ||||
| 	if strings.Contains(e.Message, "unknown procedure") { | ||||
| 		return ErrUnsupported | ||||
| 	} | ||||
| 	// if libvirt returns ERR_OK, ignore the error | ||||
| 	if checkError(e, errOk) { | ||||
| 		return nil | ||||
| 	} | ||||
|  | ||||
| 	return e | ||||
| } | ||||
|   | ||||
| @@ -89,7 +89,7 @@ var ( | ||||
| 	} | ||||
|  | ||||
| 	testErrorMessage = []byte{ | ||||
| 		0x00, 0x00, 0x00, 0x37, // code (55, ErrOperationInvalid) | ||||
| 		0x00, 0x00, 0x00, 0x37, // code (55, errOperationInvalid) | ||||
| 		0x00, 0x00, 0x00, 0x0a, // domain id | ||||
|  | ||||
| 		// message ("Requested operation is not valid: domain is not running") | ||||
| @@ -107,7 +107,7 @@ var ( | ||||
| 	} | ||||
|  | ||||
| 	testErrorNotFoundMessage = []byte{ | ||||
| 		0x00, 0x00, 0x00, 0x2a, // code (42 ErrDoDmain) | ||||
| 		0x00, 0x00, 0x00, 0x2a, // code (42 errDoDmain) | ||||
| 		0x00, 0x00, 0x00, 0x0a, // domain id | ||||
|  | ||||
| 		// message | ||||
| @@ -224,7 +224,7 @@ func TestDecodeEvent(t *testing.T) { | ||||
|  | ||||
| func TestDecodeError(t *testing.T) { | ||||
| 	expectedMsg := "Requested operation is not valid: domain is not running" | ||||
| 	expectedCode := ErrOperationInvalid | ||||
| 	expectedCode := errOperationInvalid | ||||
|  | ||||
| 	err := decodeError(testErrorMessage) | ||||
| 	e := err.(libvirtError) | ||||
| @@ -238,7 +238,7 @@ func TestDecodeError(t *testing.T) { | ||||
|  | ||||
| func TestErrNotFound(t *testing.T) { | ||||
| 	err := decodeError(testErrorNotFoundMessage) | ||||
| 	ok := ErrIsNotFound(err) | ||||
| 	ok := IsNotFound(err) | ||||
| 	if !ok { | ||||
| 		t.Errorf("expected true, got %t", ok) | ||||
| 	} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user