tree c702d3da2b859b3234b0dedb7bbe2bef6b17dbe4
parent 84c05453db61a5c518bda486ea36b0c00fc645a1
author Eli Schwartz <eschwartz@archlinux.org> 1643597119 -0500
committer Eli Schwartz <eschwartz@archlinux.org> 1643597442 -0500
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJMBAABCgA2FiEEYEETBMCdNmKDQO7/zrFn77VyK9YFAmH3ToIYHGVzY2h3YXJ0
 ekBhcmNobGludXgub3JnAAoJEM6xZ++1civWexsP/A309xLZ48diEqGEonTGlSFy
 ujHqtS+C3w1mJ1z6qq002y+YdErrg7Ta/eq2XLKJWyG5LzWAWY+IDepO8LwbOig1
 vHboMlG+qokHEDDUyTDWNYI4G4H5gIcneIfRV30QvjRXIqse4R837BwmS5EuZaRQ
 /jbii/gOdJnkUekCCyrIg3zqebLkEVVZKbBShDyJOvFxBa2YicIED2xf+lJdo1PF
 5zmKtc79rX9/e3RilwckcSQ0B87cO2sutmXUwXyXRCRZRd/egz5V7W3br7d5kqw2
 4+9ybuNAnawk3HwCtAcCIt73m2BJXT/3WBDxf+fmkyzb5m6VIDNtOzyGnEx8NNMy
 q6NBG9MTXxXIQdG0fAgqcyo6IUDWEukTe63JoqpGfY81kpSlnbETQ6ubDB0Xjm1t
 Xi3thddhrSYsFemRcBI6Cb2AKSQqqoTgb+OnP7bTa+kMGG4G4BOCJ9fw76n5JoNc
 LJFK1+WnroEkUYA0I60FhPy7u/V2ppm0NVpxo7njKJhVMR96W3yZQRLbvrs0UcSm
 0c+vrHwaK3pg+cr+Qel7wBrS+NtB2smkAyqt3wj00hmGqILl23XEejAIR8rGdx55
 4o5p9uyh2xBO8fvyfhSeJGArY/g19DKJONhn6De8I3J3hWqRLDQHQ6ucRcD6qe8Z
 st0QrMw+8/5q/xqz7Ufd
 =T925
 -----END PGP SIGNATURE-----

meson: valgrind wrapper should return correct errors

While trying to raise an exception on failures, it instead raised an
exception for misusing the exception. CalledProcessError is only
supposed to be used when given a return code and a command, and it
prints:

Command '{cmd}' returned non-zero exit status {ret}

Passing an error message string instead, just errored out with:

TypeError: __init__() missing 1 required positional argument

Instead use the subprocess module's base error which does accept string
messages. Everything that used to error out, still errors out, but now
they do so with a slightly prettier console message.
