Beispiel #1
0
def test_anonymous_telemetry_with_no_repo_id() -> None:
    with temporary_dir() as buildroot:
        with environment_as(PANTS_BUILDROOT_OVERRIDE=buildroot):
            opts = create_options_bootstrapper([]).bootstrap_options
            run_tracker = RunTracker(opts)
            run_tracker.start(run_start_time=time.time(), specs=[])
            run_tracker.end_run(PANTS_SUCCEEDED_EXIT_CODE)
            repo_id = ""
            telemetry = run_tracker.get_anonymous_telemetry_data(repo_id)

            # Check that these keys have non-trivial values.
            for key in (
                    "run_id",
                    "timestamp",
                    "duration",
                    "outcome",
                    "platform",
                    "python_implementation",
                    "python_version",
                    "pants_version",
            ):
                assert bool(telemetry.get(key))

            for key in ("repo_id", "machine_id", "user_id"):
                assert telemetry.get(key) == ""
Beispiel #2
0
def test_anonymous_telemetry(monkeypatch, tmp_path: Path, **kwargs) -> None:
    frozen_time = kwargs["frozen_time"]
    buildroot = tmp_path.as_posix()
    with environment_as(PANTS_BUILDROOT_OVERRIDE=buildroot):
        ob = create_options_bootstrapper([])
        opts = ob.bootstrap_options
        monkeypatch.setattr(opts, "_goals", ["test", "customgoal", "lint"])
        run_tracker = RunTracker(ob.args, opts)
        run_tracker.start(run_start_time=time.time(), specs=[])
        frozen_time.tick(delta=datetime.timedelta(seconds=1))
        run_tracker.end_run(PANTS_SUCCEEDED_EXIT_CODE)
        repo_id = "A" * 36
        telemetry = run_tracker.get_anonymous_telemetry_data(repo_id)

        # Check that all keys have non-trivial values.
        for key in (
                "run_id",
                "timestamp",
                "duration",
                "outcome",
                "platform",
                "python_implementation",
                "python_version",
                "pants_version",
                "repo_id",
                "machine_id",
                "user_id",
                "standard_goals",
                "num_goals",
        ):
            assert bool(telemetry.get(key))

        # Verify a few easy-to-check values.
        assert telemetry["timestamp"] == "1578657601.0"
        assert telemetry["duration"] == "1.0"
        assert telemetry["outcome"] == "SUCCESS"
        assert telemetry["standard_goals"] == ["test", "lint"]
        assert telemetry["num_goals"] == "3"