Something went wrong. Try again.
My version of https://github.com/vercel-labs/fx
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128from __future__ import annotations
import dataclassesimport pathlibimport tempfileimport unittest
from scripts.pgso.model import ( BuildIdentity, PgsoError, bytes_to_mib, profile_evidence, require_empty_stderr, sha256_file, size_gate, verify_identity,)
class PgsoModelTests(unittest.TestCase): def identity(self) -> BuildIdentity: return BuildIdentity( source_sha="a" * 40, target="aarch64-macos", host_arch="arm64", zig_version="0.16.0", llvm_version="21.1.8", bitcode_sha256="b" * 64, corpus_sha256="c" * 64, update_channel="stable", generation_flags=("--disable-vp",), )
def test_build_identity_is_immutable_and_equal_by_value(self) -> None: expected = self.identity()
self.assertEqual(expected, dataclasses.replace(expected)) with self.assertRaises(dataclasses.FrozenInstanceError): expected.target = "x86_64-macos" # type: ignore[misc]
def test_verify_identity_rejects_every_mismatching_field(self) -> None: expected = self.identity() changed_values = { "source_sha": "d" * 40, "target": "x86_64-macos", "host_arch": "x86_64", "zig_version": "0.16.1", "llvm_version": "21.1.9", "bitcode_sha256": "e" * 64, "corpus_sha256": "f" * 64, "update_channel": "dev", "generation_flags": ("--different",), }
verify_identity(expected, dataclasses.replace(expected)) for field, value in changed_values.items(): with self.subTest(field=field): with self.assertRaisesRegex( PgsoError, f"identity mismatch: {field}", ): verify_identity( expected, dataclasses.replace(expected, **{field: value}), )
def test_sha256_file_hashes_the_exact_contents(self) -> None: with tempfile.TemporaryDirectory(prefix="fx-pgso-model-") as tmp: path = pathlib.Path(tmp) / "artifact" path.write_bytes(b"abc")
self.assertEqual( "ba7816bf8f01cfea414140de5dae2223" "b00361a396177a9cb410ff61f20015ad", sha256_file(path), )
def test_profile_evidence_binds_hash_size_and_merged_count(self) -> None: with tempfile.TemporaryDirectory(prefix="fx-pgso-model-") as tmp: path = pathlib.Path(tmp) / "profile.profdata" path.write_bytes(b"profile")
evidence = profile_evidence(path, merged_raw_profiles=7)
self.assertEqual(7, evidence["merged_raw_profiles"]) self.assertEqual(7, evidence["size_bytes"]) self.assertEqual(sha256_file(path), evidence["sha256"])
def test_size_gate_reports_exact_mib_and_preferred_headroom(self) -> None: evidence = size_gate(7_837_920)
self.assertEqual(1.0, bytes_to_mib(1_048_576)) self.assertEqual(7_837_920, evidence.size_bytes) self.assertEqual(7.474822998046875, evidence.size_mib) self.assertEqual(7.800, evidence.ceiling_mib) self.assertEqual(0.3251770019531248, evidence.headroom_mib) self.assertEqual(0.250, evidence.preferred_headroom_mib) self.assertTrue(evidence.preferred_headroom_met)
def test_size_gate_enforces_the_integral_byte_boundary(self) -> None: self.assertEqual(8_178_892, size_gate(8_178_892).size_bytes) with self.assertRaisesRegex(PgsoError, "exceeds 7.800 MiB"): size_gate(8_178_893)
def test_size_gate_records_insufficient_preferred_headroom(self) -> None: evidence = size_gate(8_000_000)
self.assertFalse(evidence.preferred_headroom_met) self.assertGreater(evidence.headroom_mib, 0)
def test_size_gate_rejects_empty_or_negative_artifacts(self) -> None: for byte_count in (0, -1): with self.subTest(byte_count=byte_count): with self.assertRaisesRegex(PgsoError, "artifact is empty"): size_gate(byte_count)
def test_require_empty_stderr_rejects_unexpected_output(self) -> None: require_empty_stderr("profile use", "")
with self.assertRaisesRegex( PgsoError, "profile use wrote unexpected stderr: optimizer warning", ): require_empty_stderr("profile use", "optimizer warning")
if __name__ == "__main__": unittest.main()