42 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Go
		
	
	
	
| package linux_sysctl_fs
 | |
| 
 | |
| import (
 | |
| 	"io/ioutil"
 | |
| 	"os"
 | |
| 	"testing"
 | |
| 
 | |
| 	"github.com/influxdata/telegraf/testutil"
 | |
| 	"github.com/stretchr/testify/require"
 | |
| )
 | |
| 
 | |
| func TestSysctlFSGather(t *testing.T) {
 | |
| 	td, err := ioutil.TempDir("", "")
 | |
| 	require.NoError(t, err)
 | |
| 	defer os.RemoveAll(td)
 | |
| 
 | |
| 	require.NoError(t, ioutil.WriteFile(td+"/aio-nr", []byte("100\n"), 0644))
 | |
| 	require.NoError(t, ioutil.WriteFile(td+"/aio-max-nr", []byte("101\n"), 0644))
 | |
| 	require.NoError(t, ioutil.WriteFile(td+"/super-nr", []byte("102\n"), 0644))
 | |
| 	require.NoError(t, ioutil.WriteFile(td+"/super-max", []byte("103\n"), 0644))
 | |
| 	require.NoError(t, ioutil.WriteFile(td+"/file-nr", []byte("104\t0\t106\n"), 0644))
 | |
| 	require.NoError(t, ioutil.WriteFile(td+"/inode-state", []byte("107\t108\t109\t0\t0\t0\t0\n"), 0644))
 | |
| 
 | |
| 	sfs := &SysctlFS{
 | |
| 		path: td,
 | |
| 	}
 | |
| 	var acc testutil.Accumulator
 | |
| 	require.NoError(t, sfs.Gather(&acc))
 | |
| 
 | |
| 	acc.AssertContainsFields(t, "linux_sysctl_fs", map[string]interface{}{
 | |
| 		"aio-nr":             uint64(100),
 | |
| 		"aio-max-nr":         uint64(101),
 | |
| 		"super-nr":           uint64(102),
 | |
| 		"super-max":          uint64(103),
 | |
| 		"file-nr":            uint64(104),
 | |
| 		"file-max":           uint64(106),
 | |
| 		"inode-nr":           uint64(107),
 | |
| 		"inode-free-nr":      uint64(108),
 | |
| 		"inode-preshrink-nr": uint64(109),
 | |
| 	})
 | |
| }
 |