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

# Identical to the `minimal` product configuration, except that it layers on a session component
# that allows for some basic functional testing. Needed because no remote-control or testing
# infrastructure is included in the minimal product, as one of its purposes is to use as few
# resources as possible.

import("//products/minimal.gni")

# Use the product assembly config file to specify the product configuration.
#
# This should be overridden by products which inherit from minimal.
fuchsia_product_assembly_config_file =
    "//products/tests/boot_test/product_config.json"

legacy_universe_package_labels += [
  # E2E Product Tests. They don't produce fuchsia packages, but host
  # executables, and must just be included somewhere in the build configuration
  # of the product.
  "//src/tests/memory_budget:tests",
]
