tree 61cb632e5b631eb61ee024e6f8d0a672ec85fce6
parent ac493421cb4dfb3404414735c22f64b8352d9841
author Aaron Webster <AaronWebster@users.noreply.github.com> 1779303700 -0700
committer GitHub <noreply@github.com> 1779303700 -0700
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJqDgUUCRC1aQ7uu5UhlAAA/4gQABSjD3xWP+gvVujB21uaOsE6
 aupB0sB6+VVekTAAH+WZPyHqpueMqtHNWAw+PbhQJTz/cpfV6YGXRjX/vHWD27SZ
 FVBcS4xnH6J9umdsCSbTPFD0o4TQcwoEAiR4jlUAZ5+R8/W8+uhOzF3TL0E/7pof
 n1VRIboxyuPK+CzQLREOyUAeYFC5o9kmRYyskyicimH7AnZe2NdinynquDk8ti9I
 mdiEMpRgQLh3wERch6Ea+iyOeyb35i7aKl48xvJML60QjMbFGTNqXplNeIh32zSa
 pEkHVeRDC7fT9aQyK0UxuLozupHapfKGgSh8qvuBGCtu3KnFjSPYnAIbinjRVuF4
 eSECnZwp/wieyJhD2MhDyHbnJFRutfFkEJF50cKQ2/QnbovP5JgyRapW9E9WWU1k
 1UH+z9oWH0R4Hxje6XFx+q4D1XbbTaEJSH0yl/EZTvi1z1q3fohFbIMtb/Y8gt84
 yqes/gFl6Y59Q3JnaJw4uzgEizf0rucvSMgPzSl089aDfNr6JDwGoagNLioCHeOQ
 g8nGOUNmNJlLCQfZxO0R87A0AXQPj4v5ObvAUUeOgsAQ9O0iYGw7/gJwzd0dtw6K
 YoH+zPvfCSoutKRaa05o4MAL9XZSGmV7PlCWNtPS+jF84gB6uF/ZN05ml3TGFGpj
 rKV0bsePKW2CHn0NC22p
 =/szm
 -----END PGP SIGNATURE-----
 

Add scripts/regenerate_goldens.py for batch golden regeneration (#251)

* Add scripts/regenerate_goldens.py for batch golden regeneration

Mirrors the cpp_golden_test list in compiler/back_end/cpp/BUILD,
invoking embossc on each input .emb file to regenerate the
corresponding golden header. Makes generator changes (which usually
require regenerating dozens of golden files) a one-command operation
instead of a per-file dance.

Also handles the testdata/imported_genfiles.emb genrule transform
locally and cleans up afterward so the produced file doesn't collide
with the bazel genrule on subsequent builds.

* Note regenerate_goldens.py mirror in BUILD