Skip to content

Commit

Permalink
Fix test.
Browse files Browse the repository at this point in the history
# Rust tests and lints will be skipped. Delete if not intended.
[ci skip-rust]

# Building wheels and fs_util will be skipped. Delete if not intended.
[ci skip-build-wheels]
  • Loading branch information
stuhood committed Sep 26, 2021
1 parent dd905a4 commit 773337d
Showing 1 changed file with 45 additions and 38 deletions.
83 changes: 45 additions & 38 deletions src/python/pants/engine/internals/engine_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
WorkunitsCallback,
)
from pants.goal.run_tracker import RunTracker
from pants.option.scope import Scope, ScopedOptions
from pants.testutil.option_util import create_options_bootstrapper
from pants.testutil.rule_runner import QueryRule, RuleRunner
from pants.util.logging import LogLevel
Expand Down Expand Up @@ -599,44 +600,6 @@ def a_rule(n: int) -> Output:

assert workunit["metadata"] == {}

def test_counters(self) -> None:
@dataclass(frozen=True)
class TrueResult:
pass

@rule(desc="a_rule")
async def a_rule() -> TrueResult:
proc = Process(
["/bin/sh", "-c", "true"],
description="always true",
cache_scope=ProcessCacheScope.PER_SESSION,
)
_ = await Get(ProcessResult, MultiPlatformProcess({None: proc}))
return TrueResult()

scheduler, tracker, handler = self._fixture_for_rules(
[a_rule, QueryRule(TrueResult, tuple()), *process_rules(), *platform_rules()],
max_workunit_verbosity=LogLevel.TRACE,
)
with handler:
scheduler.record_test_observation(128)
scheduler.product_request(TrueResult, subjects=[0])
histograms_info = scheduler.get_observation_histograms()

finished = list(itertools.chain.from_iterable(tracker.finished_workunit_chunks))
workunits_with_counters = [item for item in finished if "counters" in item]
assert workunits_with_counters[0]["counters"]["local_cache_requests"] == 1
assert workunits_with_counters[0]["counters"]["local_cache_requests_uncached"] == 1
assert workunits_with_counters[1]["counters"]["local_execution_requests"] == 1

assert histograms_info["version"] == 0
assert "histograms" in histograms_info
assert "test_observation" in histograms_info["histograms"]
assert (
histograms_info["histograms"]["test_observation"]
== b"\x1c\x84\x93\x14\x00\x00\x00\x1fx\x9c\x93i\x99,\xcc\xc0\xc0\xc0\xcc\x00\x010\x9a\x11J3\xd9\x7f\x800\xfe32\x01\x00E\x0c\x03\x81"
)


@dataclass(frozen=True)
class ComplicatedInput:
Expand Down Expand Up @@ -670,6 +633,50 @@ def rule_runner() -> RuleRunner:
)


def test_counters(rule_runner: RuleRunner, run_tracker: RunTracker) -> None:
scheduler = rule_runner.scheduler

tracker = WorkunitTracker()
handler = StreamingWorkunitHandler(
scheduler,
run_tracker=run_tracker,
callbacks=[tracker],
report_interval_seconds=0.01,
max_workunit_verbosity=LogLevel.TRACE,
specs=Specs.empty(),
options_bootstrapper=create_options_bootstrapper([]),
allow_async_completion=False,
)

with handler:
scheduler.record_test_observation(128)
rule_runner.request(
ProcessResult,
[
Process(
["/bin/sh", "-c", "true"],
description="always true",
cache_scope=ProcessCacheScope.PER_SESSION,
)
],
)
histograms_info = scheduler.get_observation_histograms()

finished = list(itertools.chain.from_iterable(tracker.finished_workunit_chunks))
workunits_with_counters = [item for item in finished if "counters" in item]
assert workunits_with_counters[0]["counters"]["local_cache_requests"] == 1
assert workunits_with_counters[0]["counters"]["local_cache_requests_uncached"] == 1
assert workunits_with_counters[1]["counters"]["local_execution_requests"] == 1

assert histograms_info["version"] == 0
assert "histograms" in histograms_info
assert "test_observation" in histograms_info["histograms"]
assert (
histograms_info["histograms"]["test_observation"]
== b"\x1c\x84\x93\x14\x00\x00\x00\x1fx\x9c\x93i\x99,\xcc\xc0\xc0\xc0\xcc\x00\x010\x9a\x11J3\xd9\x7f\x800\xfe32\x01\x00E\x0c\x03\x81"
)


def test_more_complicated_engine_aware(rule_runner: RuleRunner, run_tracker: RunTracker) -> None:
tracker = WorkunitTracker()
handler = StreamingWorkunitHandler(
Expand Down

0 comments on commit 773337d

Please sign in to comment.