blob: c53e29d4fe94fed88c548e0b275874b7228b4050 [file] [log] [blame]
// Copyright 2021 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package servo_lib_test
import (
servo_lib "chromiumos/test/provision/cmd/provisionserver/bootstrap/services/firmwareservice/servo/lib"
"testing"
)
func TestServoType(t *testing.T) {
SERVO_C2D2 := "c2d2"
SERVO_CCD_CR50 := "ccd_cr50"
SERVO_CCD_TI50 := "ccd_ti50"
SERVO_CCD_GSC := "ccd_gsc"
SERVO_MICRO := "servo_micro"
SERVO_V2 := "servo_v2"
SERVO_V4_C2D2 := "servo_v4_with_c2d2"
SERVO_V4_CCD := "servo_v4_with_ccd"
SERVO_V4_CCD_CR50 := "servo_v4_with_ccd_cr50"
SERVO_V4_CCD_TI50 := "servo_v4_with_ccd_ti50"
SERVO_V4_CCD_GSC := "servo_v4_with_ccd_gsc"
SERVO_V4_MICRO := "servo_v4_with_servo_micro"
SERVO_V4P1_C2D2 := "servo_v4p1_with_c2d2"
SERVO_V4P1_CCD := "servo_v4p1_with_ccd"
SERVO_V4P1_CCD_CR50 := "servo_v4p1_with_ccd_cr50"
SERVO_V4P1_CCD_TI50 := "servo_v4p1_with_ccd_ti50"
SERVO_V4P1_CCD_GSC := "servo_v4p1_with_ccd_gsc"
SERVO_V4P1_MICRO := "servo_v4p1_with_servo_micro"
VALID_SERVOS := []string{
SERVO_C2D2,
SERVO_CCD_CR50,
SERVO_CCD_TI50,
SERVO_CCD_GSC,
SERVO_MICRO,
SERVO_V2,
SERVO_V4_C2D2,
SERVO_V4_CCD,
SERVO_V4_CCD_CR50,
SERVO_V4_CCD_TI50,
SERVO_V4_CCD_GSC,
SERVO_V4_MICRO,
SERVO_V4P1_C2D2,
SERVO_V4P1_CCD,
SERVO_V4P1_CCD_CR50,
SERVO_V4P1_CCD_TI50,
SERVO_V4P1_CCD_GSC,
SERVO_V4P1_MICRO,
}
CCD_SERVOS := []string{
SERVO_CCD_CR50,
SERVO_CCD_TI50,
SERVO_CCD_GSC,
SERVO_V4_CCD,
SERVO_V4_CCD_CR50,
SERVO_V4_CCD_TI50,
SERVO_V4_CCD_GSC,
SERVO_V4P1_CCD,
SERVO_V4P1_CCD_CR50,
SERVO_V4P1_CCD_TI50,
SERVO_V4P1_CCD_GSC,
}
MICRO_SERVOS := []string{SERVO_MICRO, SERVO_V4_MICRO, SERVO_V4P1_MICRO}
V2_SERVOS := []string{SERVO_V2}
V4_SERVOS := []string{SERVO_V4_C2D2, SERVO_V4_CCD, SERVO_V4_CCD_CR50,
SERVO_V4_CCD_TI50, SERVO_V4_CCD_GSC, SERVO_V4_MICRO,
SERVO_V4P1_C2D2, SERVO_V4P1_CCD, SERVO_V4P1_CCD_CR50, SERVO_V4P1_CCD_TI50,
SERVO_V4P1_CCD_GSC, SERVO_V4P1_MICRO}
C2D2_SERVOS := []string{SERVO_C2D2, SERVO_V4_C2D2, SERVO_V4P1_C2D2}
listContains := func(list []string, str string) bool {
for i := 0; i < len(list); i++ {
if list[i] == str {
return true
}
}
return false
}
for i := 0; i < len(VALID_SERVOS); i++ {
servoStr := VALID_SERVOS[i]
servo := servo_lib.NewServoType(servoStr)
if servo.IsV2() != listContains(V2_SERVOS, servoStr) {
t.Errorf("servo %v: expected IsV2() to return %v", servoStr, !servo.IsV2())
}
if servo.IsV4() != listContains(V4_SERVOS, servoStr) {
t.Errorf("servo %v: expected IsV4() to return %v", servoStr, !servo.IsV4())
}
if servo.IsCCD() != listContains(CCD_SERVOS, servoStr) {
t.Errorf("servo %v: expected IsCCD() to return %v", servoStr, !servo.IsCCD())
}
if servo.IsC2D2() != listContains(C2D2_SERVOS, servoStr) {
t.Errorf("servo %v: expected IsC2D2() to return %v", servoStr, !servo.IsC2D2())
}
if servo.IsMicro() != listContains(MICRO_SERVOS, servoStr) {
t.Errorf("servo %v: expected IsMicro() to return %v", servoStr, !servo.IsMicro())
}
}
}