1# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
2# vim: set filetype=python:
3# This Source Code Form is subject to the terms of the Mozilla Public
4# License, v. 2.0. If a copy of the MPL was not distributed with this
5# file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
7include("gkrust-features.mozbuild")
8
9RustLibrary("gkrust", gkrust_features, is_gkrust=True)
10
11# Target directory doesn't matter a lot here, since we can't share panic=abort
12# compilation artifacts with gkrust.
13RUST_TESTS = [
14    "selectors",
15    "servo_arc",
16    "stylo_tests",
17    "qcms",
18]
19
20if not CONFIG["MOZ_CODE_COVERAGE"]:
21    # glean tests are disabled for ccov builds because some of them test panics
22    # and those builds are compiled with '-Cpanic=abort -Zpanic_abort_tests'
23    RUST_TESTS += ["fog"]
24
25for feature in gkrust_features:
26    # We don't want to enable refcount logging during rusttests, since the
27    # relevant FFI symbols wouldn't be found.
28    # Nor do we want Glean to assume there are Gecko symbols.
29    if feature not in ("gecko_refcount_logging", "glean_with_gecko"):
30        RUST_TEST_FEATURES.append(feature)
31
32if CONFIG["CPU_ARCH"] != "x86":
33    # malloc_size_of_derive is a build dependency, so if we are doing
34    # cross-compile for x86, this may not run correctly.
35    RUST_TESTS += ["malloc_size_of_derive"]
36
37if CONFIG["MOZ_BITS_DOWNLOAD"]:
38    RUST_TESTS += ["bits_client"]
39