blob: 77ff159340ce7999a9c264a8b912ce7818ff1f4b [file] [log] [blame]
// Copyright 2019 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 swarming
import (
"infra/libs/skylab/inventory"
)
func init() {
converters = append(converters, ctsConverter)
reverters = append(reverters, ctsReverter)
}
func ctsConverter(dims Dimensions, ls *inventory.SchedulableLabels) {
for _, v := range ls.GetCtsAbi() {
appendDim(dims, "label-cts_abi", v.String())
}
for _, v := range ls.GetCtsCpu() {
appendDim(dims, "label-cts_cpu", v.String())
}
}
func ctsReverter(ls *inventory.SchedulableLabels, d Dimensions) Dimensions {
ls.CtsAbi = make([]inventory.SchedulableLabels_CTSABI, len(d["label-cts_abi"]))
for i, v := range d["label-cts_abi"] {
if p, ok := inventory.SchedulableLabels_CTSABI_value[v]; ok {
ls.CtsAbi[i] = inventory.SchedulableLabels_CTSABI(p)
}
}
delete(d, "label-cts_abi")
ls.CtsCpu = make([]inventory.SchedulableLabels_CTSCPU, len(d["label-cts_cpu"]))
for i, v := range d["label-cts_cpu"] {
if p, ok := inventory.SchedulableLabels_CTSCPU_value[v]; ok {
ls.CtsCpu[i] = inventory.SchedulableLabels_CTSCPU(p)
}
}
delete(d, "label-cts_cpu")
return d
}