• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

pantsbuild / pants / 37473
0%
main: 79%

Build:
Build:
LAST BUILD BRANCH: cbs/scope-find-links
DEFAULT BRANCH: main
Ran 05 Feb 2021 07:56PM UTC
Jobs 1
Files 411
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

pending completion
37473

push

travis-ci-com

web-flow
Put test stdout/stderr onto EnrichedTestResult workunit (#11528)

### Problem

We created the `EnrichedTestResult` wrapper type - which is returned from an uncacheable rule - in order to ensure that pants runs would always have a workunit with test output metadata on it, even if the test had been cached. However, the stdout and stderr digests from the test were still being put on the underlying process execution workunit, which doesn't get created when the process result is cached.

### Solution

In order to do this correctly, the engine's treatment of `Digest`s had to be modified. Some `Digest`s, like the stdout/stderr output ones, represent just a single conceptual file and correspond to a Python `FileDigest`; and others represent a file-system subtree and correspond to a Python `Snapshot`. The code that handles workunit artifacts in the engine needs to keep these two interpretations of the Rust `hashing::Digest` type straight to avoid runtime errors converting and deconverting from Python types, which was done by introducing the `ArtifactResult` wrapper type. 

As well, the signature of `EngineAwareReturnType.artifacts` was modified to be a dictionary of `Union[Snapshot, FileDigest]` rather than just `Snapshot`. Note that the custom code to put the stdout/stderr digests on the process workunit was previously violating the type contract, by placing `FileDigest` Python Values into a dictionary that was supposed to only contain `Snapshot`s - but because this was done in engine FFI code, there was no opportunity for MyPy to verify this.

0 of 28566 relevant lines covered (0.0%)

0.0 hits per line

Jobs
ID Job ID Ran Files Coverage
5 37473.5 (PANTS_CONFIG_FILES="${TRAVIS_BUILD_DIR}/pants.travis-ci.toml" PANTS_DYNAMIC_UI=false LC_ALL="en_US.UTF-8" AWS_BUCKET=ci-public.pantsbuild.org BOOTSTRAPPED_PEX_KEY_PREFIX=daily/${TRAVIS_BUILD_NUMBER}/${TRAVIS_BUILD_ID}/pants.pex NATIVE_ENGINE_SO_KEY_PREFIX=monthly/native_engine_so MACOS_PYENV_PY27_VERSION=2.7.18 MACOS_PYENV_PY37_VERSION=3.7.7 MACOS_PYENV_PY38_VERSION=3.8.3 PYENV_ROOT_OSX=${HOME}/.pants_pyenv PYENV_ROOT="${PYENV_ROOT:-${PYENV_ROOT_OSX}}" PATH="${PYENV_ROOT}/shims:${PATH}" AWS_CLI_ROOT="${HOME}/.aws_cli" AWS_ACCESS_KEY_ID__TO_BE_REEXPORTED_ON_DEPLOYS=AKIAV6A6G7RQ2HFZ5KP7 AWS_SECRET_ACCESS_KEY=[secure] RUST_BACKTRACE="all" PANTS_REMOTE_CA_CERTS_PATH=/etc/ssl/certs/ca-certificates.crt BOOTSTRAPPED_PEX_KEY_SUFFIX=py37.linux CACHE_NAME=python_tests.py37) 05 Feb 2021 07:56PM UTC 0
0.0
Travis Job 37473.5
Source Files on build 37473
Detailed source file information is not available for this build.
  • Back to Repo
  • Build #37473
  • b917bbf9 on github
  • Prev Build on master (#37469)
  • Next Build on master (#37476)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc