# Copyright 2018 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

### Individual test environments ###

qemu_env = {
  dimensions = {
    device_type = "QEMU"
  }
}

astro_env = {
  dimensions = {
    device_type = "Astro"
  }
  # TODO(IN-876): Delete after bring-up.
  label = "astro"
}

nuc_env = {
  dimensions = {
    device_type = "Intel NUC Kit NUC7i5DNHE"
  }
}

vim2_env = {
  dimensions = {
    device_type = "Khadas Vim2 Max"
  }
  # TODO(IN-571): Delete after bring-up.
  label = "vim2"
}

linux_env = {
  dimensions = {
    os = "Linux"
    cpu = current_cpu
  }
}

mac_env = {
  dimensions = {
    os = "Mac"
    cpu = current_cpu
  }
}

### Select environment lists ###

# The basic, freely usable test environments supported by the infrastructure.
basic_envs = [ qemu_env ]
# TODO(INTK-749): only add NUCs for debug to alleviate shortage.
if (current_cpu == "x64" && is_debug) {
  basic_envs += [ nuc_env ]
} else if (current_cpu == "arm64") {
  basic_envs += [ vim2_env ]
}
