On Mon, May 17, 2021 at 2:33 PM Tomi Ollila <tomi.ollila@iki.fi> wrote: > > notmuch_passwd_sanitize() in test-lib.sh is too generic, it cannot > work in many cases... > > The more specific version _libconfig_sanitize() replaces it in > T590-libconfig.sh and the code that uses it is modified to output > the keys (ascending numbers printed in hex) so the sanitizer knows > what to sanitize in which lines... > > In addition to ".(none)" now also ".localdomain" if filtered from > USERNAME@FQDN. > --- > > Rebase of id:20210502181535.31292-1-tomi.ollila@iki.fi > > * 'fn () {' style change > * added @ to fqdn replace, as it could be subset of user > > test/T590-libconfig.sh | 97 +++++++++++++++++++++++++----------------- > test/test-lib.sh | 20 --------- > 2 files changed, 59 insertions(+), 58 deletions(-) > > diff --git a/test/T590-libconfig.sh b/test/T590-libconfig.sh > index 745e1bb4..8e70b7b2 100755 > --- a/test/T590-libconfig.sh > +++ b/test/T590-libconfig.sh > @@ -5,6 +5,26 @@ test_description="library config API" > > add_email_corpus > > +_libconfig_sanitize() { > + ${NOTMUCH_PYTHON} -c ' > +import os, sys, pwd, socket > + > +pw = pwd.getpwuid(os.getuid()) > +user = pw.pw_name > +name = pw.pw_gecos.partition(",")[0] > +fqdn = socket.getaddrinfo(socket.gethostname(), 0, 0, > + socket.SOCK_STREAM, 0, socket.AI_CANONNAME)[0][3] > +for l in sys.stdin: > + if l[:3] == "8: ": > + # fqdn could be subset of user; therefore @ > + l = l.replace(user, "USERNAME").replace("@" + fqdn, "@FQDN") > + l = l.replace(".(none)", "").replace(".localdomain", "") > + elif l[:3] == "a: ": > + l = l.replace(name, "USER_FULL_NAME") This generates garbage when name is null. See ff5f141b (test: fix passwd_sanitize(), 2021-05-01). At the very least we need to check for that, even better if we generate the proper output: if name: l = l.replace(name, "USER_FULL_NAME") else: l = "a: \'USER_FULL_NAME\'\\n" This makes the test pass with no geckos name, but we need to use bash strings: $'string'. Otherwise we would need to do something much more weird. Cheers. -- Felipe Contreras _______________________________________________ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-leave@notmuchmail.org