This will be much simpler once b/197287681 is fixed.
You need a servo_v4 or servo_v4.1, probably a servo micro, or a C2D2 micro, the board you are testing, and a spare chromebook with an ethernet adapter.
The spare chromebook is just to workaround tast insisting on SSHing to the DUT before running any tests. It needs to be the same arch (x86/arm) and preferably the same form factor (i.e. clamshell).
(inside chroot)
SERVO=localhost:9999:nossh
SPARE_CHROMEBOOK=192.168.1.78
BOARD=grunt
MODEL=treeya
tast run --var servo=${SERVO?} --var noSSH=true --var board=${BOARD?} --var model=${MODEL?} ${SPARE_CHROMEBOOK?} firmware.ECPowerG3
(inside chroot)
SERVO=localhost:9999:nossh
SPARE_CHROMEBOOK=192.168.1.78
BOARD=grunt
MODEL=treeya
tast run --var servo=${SERVO?} --var noSSH=true --var board=${BOARD?} --var model=${MODEL?} ${SPARE_CHROMEBOOK?} '("group:firmware" && firmware_bringup)'
if you want to exclude slow tests
tast run --var servo=${SERVO?} --var noSSH=true --var board=${BOARD?} --var model=${MODEL?} ${SPARE_CHROMEBOOK?} '("group:firmware" && firmware_bringup && !firmware_slow)'
Follow the instructions for creating a FAFT test in Tast. For the bringup case, you must not make any SSH calls to the DUT, and that means that you can't use any Tast gRPC services either.
Set the board and model explicitly from command line vars:
func init() {
testing.AddTest(&testing.Test{
Func: MyTest,
Vars: []string{"board", "model"},
// ...
})
}
func MyTest(ctx context.Context, s *testing.State) {
h := s.FixtValue().(*fixture.Value).Helper
board, _ := s.Var("board")
model, _ := s.Var("model")
h.OverridePlatform(ctx, board, model)
if err := h.RequireConfig(ctx); err != nil {
s.Fatal("Failed to get config: ", err)
}
// At this point h.Config, h.Board, and h.Model are usable.
}