utils_test.go 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package fs
  2. import (
  3. "io/ioutil"
  4. "os"
  5. "path/filepath"
  6. "testing"
  7. )
  8. const (
  9. cgroupFile = "cgroup.file"
  10. floatValue = 2048.0
  11. floatString = "2048"
  12. )
  13. func TestGetCgroupParamsInt(t *testing.T) {
  14. // Setup tempdir.
  15. tempDir, err := ioutil.TempDir("", "cgroup_utils_test")
  16. if err != nil {
  17. t.Fatal(err)
  18. }
  19. defer os.RemoveAll(tempDir)
  20. tempFile := filepath.Join(tempDir, cgroupFile)
  21. // Success.
  22. err = ioutil.WriteFile(tempFile, []byte(floatString), 0755)
  23. if err != nil {
  24. t.Fatal(err)
  25. }
  26. value, err := getCgroupParamInt(tempDir, cgroupFile)
  27. if err != nil {
  28. t.Fatal(err)
  29. } else if value != floatValue {
  30. t.Fatalf("Expected %f to equal %f", value, floatValue)
  31. }
  32. // Success with new line.
  33. err = ioutil.WriteFile(tempFile, []byte(floatString+"\n"), 0755)
  34. if err != nil {
  35. t.Fatal(err)
  36. }
  37. value, err = getCgroupParamInt(tempDir, cgroupFile)
  38. if err != nil {
  39. t.Fatal(err)
  40. } else if value != floatValue {
  41. t.Fatalf("Expected %f to equal %f", value, floatValue)
  42. }
  43. // Not a float.
  44. err = ioutil.WriteFile(tempFile, []byte("not-a-float"), 0755)
  45. if err != nil {
  46. t.Fatal(err)
  47. }
  48. _, err = getCgroupParamInt(tempDir, cgroupFile)
  49. if err == nil {
  50. t.Fatal("Expecting error, got none")
  51. }
  52. // Unknown file.
  53. err = os.Remove(tempFile)
  54. if err != nil {
  55. t.Fatal(err)
  56. }
  57. _, err = getCgroupParamInt(tempDir, cgroupFile)
  58. if err == nil {
  59. t.Fatal("Expecting error, got none")
  60. }
  61. }