gomonop/pkg/perfdata/internals.go
Emmanuel BENOîT 78af496fe9 refactor: make internals easier to test and add unit tests ()
This PR refactors most of the internals to make them easier to test (and also because the names didn't make sense). It adds unit tests for all internal components.

Reviewed-on: 
Co-authored-by: Emmanuel BENOÎT <tseeker@nocternity.net>
Co-committed-by: Emmanuel BENOÎT <tseeker@nocternity.net>
2024-07-20 10:01:05 +02:00

25 lines
584 B
Go

package perfdata // import nocternity.net/gomonop/pkg/perfdata
import (
"regexp"
)
// Flags indicating which elements of performance data have been set.
type perfDataBits int
const (
PDatWarn perfDataBits = 1 << iota
PDatCrit
PDatMin
PDatMax
)
// Regexps used to check values and ranges in performance data records.
var (
// Common value check regexp.
vcRegexp = `^-?(0(\.\d*)?|[1-9]\d*(\.\d*)?|\.\d+)$`
// Compiled value check regexp.
valueCheck = regexp.MustCompile(vcRegexp)
// Compiled range min value check.
rangeMinCheck = regexp.MustCompile(vcRegexp + `|^~$`)
)