Skip to content

Commit

Permalink
tmp
Browse files Browse the repository at this point in the history
  • Loading branch information
grongor committed Jun 3, 2020
1 parent 31ef9a4 commit 4ca060d
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 8 deletions.
10 changes: 6 additions & 4 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ jobs:
steps:
- uses: actions/checkout@v2
- uses: actions/setup-go@v2
- name: Install dependencies
run: sudo apt update && sudo apt install libsnmp-dev
- name: Build
run: go build ./cmd/snmp-proxy
- name: Upload binaries
Expand All @@ -21,8 +23,8 @@ jobs:
steps:
- uses: actions/checkout@v2
- uses: actions/setup-go@v2
- name: Install pip3
run: sudo apt install python3-pip
- name: Install dependencies
run: sudo apt update && sudo apt install libsnmp-dev python3-pip snmp-mibs-downloader
- name: Install snmpsim
run: sudo pip3 install snmpsim
- name: Run tests
Expand All @@ -34,8 +36,8 @@ jobs:
steps:
- uses: actions/checkout@v2
- uses: actions/setup-go@v2
- name: Install pip3
run: sudo apt install python3-pip
- name: Install dependencies
run: sudo apt update && sudo apt install libsnmp-dev python3-pip snmp-mibs-downloader
- name: Install snmpsim
run: sudo pip3 install snmpsim
- name: Download go-acc
Expand Down
4 changes: 4 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,9 @@ test:
timeout 300 go test --race ./...
timeout 300 go test --count 100 ./...

.PHONY: clean
clean:
rm -rf bin

$(BIN)/golangci-lint:
curl --retry 5 -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s v1.27.0
1 change: 1 addition & 0 deletions cmd/snmp-proxy/snmp-proxy.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ func main() {
}

mibParser := snmpproxy.NewNetsnmpMibParser(config.Logger, config.Snmp.StrictMibParsing)

displayHints, err := mibParser.Parse()
if err != nil {
config.Logger.Fatalw("mib parser error: ", zap.Error(err))
Expand Down
3 changes: 2 additions & 1 deletion snmpproxy/mib.go
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ func (p *NetsnmpMibParser) Parse() (DisplayHints, error) {
defer w.Close()

stderrFd := int(os.Stderr.Fd())

savedStderrFd, err := syscall.Dup(stderrFd)
if err != nil {
return nil, err
Expand Down Expand Up @@ -88,7 +89,7 @@ func (p *NetsnmpMibParser) Parse() (DisplayHints, error) {
// Restore stderr
_ = w.Close()
_ = syscall.Close(stderrFd)
syscall.Dup2(savedStderrFd, stderrFd)
_ = syscall.Dup2(savedStderrFd, stderrFd)
_ = syscall.Close(savedStderrFd)

if err := <-errChan; err != nil {
Expand Down
10 changes: 7 additions & 3 deletions snmpproxy/mib_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,15 @@ import (
)

func TestNetsnmpMibParser_Parse(t *testing.T) {
mibParser := snmpproxy.NewNetsnmpMibParser(zap.NewNop().Sugar(), true)
require := require.New(t)

mibParser := snmpproxy.NewNetsnmpMibParser(zap.NewNop().Sugar(), false)
displayHints, err := mibParser.Parse()

require.NoError(t, err)
require.Equal(t, snmpproxy.DisplayHints{}, displayHints)
require.NoError(err)
require.NotEmpty(displayHints)
require.Equal(snmpproxy.DisplayHintString, displayHints[".1.3.6.1.2.1.2.2.1.2"])
require.Equal(snmpproxy.DisplayHintHexadecimal, displayHints[".1.3.6.1.2.1.4.22.1.2"])
}

func TestMibDataProvider_GetStringType(t *testing.T) {
Expand Down

0 comments on commit 4ca060d

Please sign in to comment.