Sha256: 9cf788ed9b8b5d3f75c601c36823aba6e5514a476b75bdb54bad6230de653e15

Contents?: true

Size: 1.5 KB

Versions: 11

Compression:

Stored size: 1.5 KB

Contents

package subsystem

import (
	"os"
	"testing"
)

func TestReadDiskStat(t *testing.T) {
	var err error
	var stat_record *StatRecord = nil

	err = ReadDiskStats(stat_record, nil)
	if err == nil {
		t.Errorf("Error should be returned with nil *StatRecord.")
	}

	_, err = os.Stat("/proc/diskstats")
	if err != nil {
		t.Skip("/proc/diskstats is not present.")
	}

	stat_record = NewStatRecord()
	err = ReadDiskStats(stat_record, nil)
	if err != nil {
		t.Error("Error should not be returned with valid *StatRecord")
	}
	if stat_record.Disk == nil {
		t.Error("stat_record.Disk should not be nil")
		return
	}
	if len(stat_record.Disk.Entries) == 0 {
		t.Error("No device found.")
	}
}

func TestReadNetStat(t *testing.T) {
	var err error
	var stat_record *StatRecord = nil

	err = ReadNetStat(stat_record)
	if err == nil {
		t.Errorf("Error should be returned with nil *StatRecord.")
	}

	_, err = os.Stat("/proc/net/dev")
	if err != nil {
		t.Skip("/proc/net/dev is not present.")
	}

	stat_record = NewStatRecord()
	err = ReadNetStat(stat_record)
	if err != nil {
		t.Error("Error should not be returned with valid *StatRecord.")
	}
	if stat_record.Net == nil {
		t.Error("stat_record.Net should not be nil")
		return
	}
	if len(stat_record.Net.Entries) == 0 {
		t.Error("No net device found, though every linux host should have 'lo'.")
	}
	// search 'lo'
	lo_found := false
	for _, entry := range stat_record.Net.Entries {
		if entry.Name == "lo" {
			lo_found = true
			break
		}
	}
	if !lo_found {
		t.Error("Device 'lo' not found.")
	}
}

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
perfmonger-0.11.2 core/subsystem/perfmonger_linux_test.go
perfmonger-0.11.1 core/subsystem/perfmonger_linux_test.go
perfmonger-0.11.0 core/subsystem/perfmonger_linux_test.go
perfmonger-0.10.2 core/subsystem/perfmonger_linux_test.go
perfmonger-0.10.1 core/subsystem/perfmonger_linux_test.go
perfmonger-0.9.0 core/subsystem/perfmonger_linux_test.go
perfmonger-0.8.2 core/subsystem/perfmonger_linux_test.go
perfmonger-0.8.1 core/subsystem/perfmonger_linux_test.go
perfmonger-0.8.0 core/subsystem/perfmonger_linux_test.go
perfmonger-0.7.1 core/subsystem/perfmonger_linux_test.go
perfmonger-0.7.0 core/subsystem/perfmonger_linux_test.go