]> git.notmuchmail.org Git - notmuch/commitdiff
test: replace notmuch_passwd_sanitize with python version
authorDavid Bremner <david@tethera.net>
Sat, 24 Apr 2021 12:28:15 +0000 (09:28 -0300)
committerDavid Bremner <david@tethera.net>
Sat, 24 Apr 2021 15:11:22 +0000 (12:11 -0300)
Apparently the -f option to hostname is not portable, and in fact it
does not seem to always behave reasonably in e.g. a chroot.

Python code originally due to Tomi [1], modified by yours truly.

[1]: id:m2lf9fbkug.fsf@guru.guru-group.fi

test/test-lib.sh

index 3f8d58277dc1b5b550da51826d4cf2365276cf27..4c9f2a2103e32a18c2c14dc257669300ecbe4d6f 100644 (file)
@@ -700,12 +700,20 @@ notmuch_built_with_sanitize ()
     sed 's/^built_with[.]\(.*\)=.*$/built_with.\1=something/'
 }
 
-notmuch_passwd_sanitize ()
+notmuch_passwd_sanitize()
 {
-    local user=$(id -un)
-    local fqdn=$(hostname -f)
-    local full_name=$(getent passwd $user | cut -d: -f 5 | cut -d, -f1)
-    sed -e "s/$user/USERNAME/" -e "s/$fqdn/FQDN/" -e "s/$full_name/USER_FULL_NAME/"
+    ${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.getfqdn()
+
+for l in sys.stdin:
+    l = l.replace(user, "USERNAME").replace(fqdn, "FQDN").replace(".(none)","").replace(name, "USER_FULL_NAME")
+    sys.stdout.write(l)
+'
 }
 
 notmuch_config_sanitize ()