mirror of
https://github.com/digital-asset/daml.git
synced 2024-09-20 01:07:18 +03:00
187 lines
5.3 KiB
Python
187 lines
5.3 KiB
Python
# Copyright (c) 2023 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
load(
|
|
"//bazel_tools:scala.bzl",
|
|
"da_scala_library",
|
|
"da_scala_test",
|
|
"da_scala_test_suite",
|
|
"lf_scalacopts",
|
|
"lf_scalacopts_stricter",
|
|
)
|
|
load(
|
|
"//rules_daml:daml.bzl",
|
|
"daml_compile",
|
|
)
|
|
load(
|
|
"//daml-lf/language:daml-lf.bzl",
|
|
"LF_DEV_VERSIONS",
|
|
"LF_MAJOR_VERSIONS",
|
|
"lf_version_default_or_latest",
|
|
"mangle_for_damlc",
|
|
)
|
|
|
|
da_scala_library(
|
|
name = "engine",
|
|
srcs = glob(["src/main/**/*.scala"]),
|
|
scala_deps = [
|
|
"@maven//:org_scalaz_scalaz_core",
|
|
"@maven//:org_typelevel_paiges_core",
|
|
],
|
|
scalacopts = lf_scalacopts_stricter,
|
|
tags = ["maven_coordinates=com.daml:daml-lf-engine:__VERSION__"],
|
|
visibility = ["//visibility:public"],
|
|
deps = [
|
|
"//daml-lf/data",
|
|
"//daml-lf/interpreter",
|
|
"//daml-lf/language",
|
|
"//daml-lf/transaction",
|
|
"//daml-lf/validation",
|
|
"//libs-scala/contextualized-logging",
|
|
"//libs-scala/nameof",
|
|
"//libs-scala/scala-utils",
|
|
"@maven//:com_google_protobuf_protobuf_java",
|
|
],
|
|
)
|
|
|
|
ENGINE_TEST_FILES = \
|
|
[
|
|
"BasicTests",
|
|
"AuthTests",
|
|
"Demonstrator",
|
|
]
|
|
|
|
[
|
|
daml_compile(
|
|
name = "{name}-v{major}".format(
|
|
name = name,
|
|
major = major,
|
|
),
|
|
srcs = ["src/test/daml/%s.daml" % name],
|
|
target = lf_version_default_or_latest(major),
|
|
)
|
|
for name in ENGINE_TEST_FILES
|
|
for major in LF_MAJOR_VERSIONS
|
|
]
|
|
|
|
[
|
|
daml_compile(
|
|
name = "BasicTests-{}".format(mangle_for_damlc(version)),
|
|
srcs = ["src/test/daml/BasicTests.daml"],
|
|
target = version,
|
|
)
|
|
for version in LF_DEV_VERSIONS
|
|
]
|
|
|
|
da_scala_test_suite(
|
|
name = "tests",
|
|
srcs = glob(
|
|
[
|
|
"src/test/**/*Spec.scala",
|
|
"src/test/**/*Test.scala",
|
|
],
|
|
exclude = [
|
|
"src/test/**/LargeTransactionTest.scala",
|
|
"src/test/**/MinVersionTest.scala",
|
|
],
|
|
),
|
|
data = [
|
|
"{name}-v{major}.dar".format(
|
|
name = name,
|
|
major = major,
|
|
)
|
|
for name in [
|
|
"//daml-lf/tests:Exceptions",
|
|
"//daml-lf/tests:Interfaces",
|
|
"//daml-lf/tests:InterfaceRetro",
|
|
"//daml-lf/tests:InterfaceViews",
|
|
"//daml-lf/tests:MultiKeys",
|
|
"//daml-lf/tests:ReinterpretTests",
|
|
]
|
|
for major in LF_MAJOR_VERSIONS
|
|
] + [
|
|
":{name}-v{major}.dar".format(
|
|
name = name,
|
|
major = major,
|
|
)
|
|
for name in ENGINE_TEST_FILES
|
|
for major in LF_MAJOR_VERSIONS
|
|
] + [
|
|
":BasicTests-{}.dar".format(mangle_for_damlc(version))
|
|
for version in LF_DEV_VERSIONS
|
|
],
|
|
scala_deps = [
|
|
"@maven//:com_storm_enroute_scalameter_core",
|
|
"@maven//:org_scalatest_scalatest_core",
|
|
"@maven//:org_scalatest_scalatest_matchers_core",
|
|
"@maven//:org_scalatest_scalatest_shouldmatchers",
|
|
"@maven//:org_scalatest_scalatest_wordspec",
|
|
"@maven//:org_scalaz_scalaz_core",
|
|
"@maven//:com_lihaoyi_sourcecode",
|
|
],
|
|
scalacopts = lf_scalacopts,
|
|
deps = [
|
|
":engine",
|
|
"//bazel_tools/runfiles:scala_runfiles",
|
|
"//daml-lf/archive:daml_lf_archive_reader",
|
|
"//daml-lf/archive:daml_lf_dev_archive_proto_java",
|
|
"//daml-lf/data",
|
|
"//daml-lf/interpreter",
|
|
"//daml-lf/language",
|
|
"//daml-lf/parser",
|
|
"//daml-lf/transaction",
|
|
"//daml-lf/transaction-test-lib",
|
|
"//libs-scala/contextualized-logging",
|
|
"//libs-scala/logging-entries",
|
|
"//libs-scala/test-evidence/scalatest:test-evidence-scalatest",
|
|
"//libs-scala/test-evidence/tag:test-evidence-tag",
|
|
"@maven//:com_google_protobuf_protobuf_java",
|
|
"@maven//:org_scalatest_scalatest_compatible",
|
|
],
|
|
)
|
|
|
|
[
|
|
daml_compile(
|
|
name = "LargeTransaction-v{}".format(major),
|
|
srcs = ["src/test/daml/LargeTransaction.daml"],
|
|
target = lf_version_default_or_latest(major),
|
|
)
|
|
for major in LF_MAJOR_VERSIONS
|
|
]
|
|
|
|
da_scala_test(
|
|
name = "test-large-transaction",
|
|
timeout = "moderate",
|
|
srcs = glob([
|
|
"src/test/**/LargeTransactionTest.scala",
|
|
"src/test/**/InMemoryPrivateLedgerData.scala",
|
|
]),
|
|
data = [
|
|
":LargeTransaction-v{}.dar".format(major)
|
|
for major in LF_MAJOR_VERSIONS
|
|
],
|
|
# We setup a large heap size to reduce as much as possible GC overheads.
|
|
initial_heap_size = "2g",
|
|
max_heap_size = "2g",
|
|
scala_deps = [
|
|
"@maven//:com_storm_enroute_scalameter_core",
|
|
"@maven//:org_scalatest_scalatest_core",
|
|
"@maven//:org_scalatest_scalatest_matchers_core",
|
|
"@maven//:org_scalatest_scalatest_shouldmatchers",
|
|
"@maven//:org_scalatest_scalatest_wordspec",
|
|
"@maven//:org_scalaz_scalaz_core",
|
|
],
|
|
scalacopts = lf_scalacopts,
|
|
deps = [
|
|
":engine",
|
|
"//bazel_tools/runfiles:scala_runfiles",
|
|
"//daml-lf/archive:daml_lf_archive_reader",
|
|
"//daml-lf/data",
|
|
"//daml-lf/interpreter",
|
|
"//daml-lf/language",
|
|
"//daml-lf/transaction",
|
|
"//libs-scala/contextualized-logging",
|
|
"@maven//:org_scalatest_scalatest_compatible",
|
|
],
|
|
)
|