Beispiel #1
0
func testParameters(goodEggs [][]string, badEggs [][]string, chk chkutil.Check, t *testing.T) {
	for _, goodEgg := range goodEggs {
		newChk, err := chk.New(goodEgg)
		if err != nil {
			msg := "Supposedly valid parameters were invalid"
			msg += "\n\tParameters: " + fmt.Sprint(goodEgg)
			msg += "\n\tError: " + err.Error()
			t.Error(msg)
		} else if newChk == nil {
			msg := "chk.New returned nil!"
			msg += "\n\tParameters: " + fmt.Sprint(goodEgg)
			t.Error(msg)
		}
	}
	for _, badEgg := range badEggs {
		_, err := chk.New(badEgg)
		if err == nil {
			msg := "Supposedly invalid parameters were valid"
			msg += "\n\tParameters: " + fmt.Sprint(badEgg)
			t.Error(msg)
		}
	}
}
Beispiel #2
0
func testCheck(goodEggs [][]string, badEggs [][]string, chk chkutil.Check, t *testing.T) {
	getNewChk := func(chk chkutil.Check, params []string, t *testing.T) chkutil.Check {
		newChk, err := chk.New(params)
		if err != nil {
			msg := "Supposedly valid parameters were invalid in testCheck"
			msg += "\n\tParameters: " + fmt.Sprint(params)
			msg += "\n\tError: " + err.Error()
			t.Error(msg)
		} else if newChk == nil {
			msg := "chk.New returned nil!"
			msg += "\n\tParameters: " + fmt.Sprint(params)
			t.Error(msg)
		}
		return newChk
	}
	for _, goodEgg := range goodEggs {
		/*
			// TODO delete
			log.WithFields(log.Fields{
				"chk":    chk.ID(),
				"params": goodEgg,
			}).Info("Testing check")
		*/

		newChk := getNewChk(chk, goodEgg, t)
		code, exitMsg, err := newChk.Status()
		if err != nil {
			msg := "Unexpected error while running check"
			msg += "\n\tError: " + err.Error()
			t.Error(msg)
		} else if code != 0 {
			msg := "Parameter set returned unexpected exit code"
			msg += "\n\tParameters: " + fmt.Sprint(goodEgg)
			msg += "\n\tExpected: 0"
			msg += "\n\tActual: " + fmt.Sprint(code)
			t.Error(msg)
		} else if exitMsg != "" {
			msg := "Parameter set returned unexpected message"
			msg += "\n\tParameters: " + fmt.Sprint(goodEgg)
			msg += "\n\tExpected: ''"
			msg += "\n\tActual: " + exitMsg
			t.Error(msg)
		}
	}
	for _, badEgg := range badEggs {
		/*
			// TODO delete
			log.WithFields(log.Fields{
				"chk":    chk.ID(),
				"params": badEgg,
			}).Info("Testing check")
		*/

		newChk := getNewChk(chk, badEgg, t)
		code, exitMsg, err := newChk.Status()
		if err != nil {
			msg := "Unexpected error while running check"
			msg += "\n\tError: " + err.Error()
			t.Error(msg)
		} else if code == 0 {
			msg := "Parameter set returned unexpected exit code"
			msg += "\n\tParameters: " + fmt.Sprint(badEgg)
			msg += "\n\tExpected: != 0"
			msg += "\n\tActual: " + fmt.Sprint(code)
			t.Error(msg)
		} else if exitMsg == "" {
			msg := "Parameter set returned unexpected message"
			msg += "\n\tParameters: " + fmt.Sprint(badEgg)
			msg += "\n\tExpected: != ''"
			msg += "\n\tActual: " + exitMsg
			t.Error(msg)
		}
	}
}