feat: bug-report collector pseudonymises identities in two stages, opt-in via --pseudonymise (#158)
Files changed: - .gitea/workflows/ci.yml - CHANGES.md - INSTALL.md - VERSION - instructions/bug-report.md - reports/CONTRACT.md - tools/README.md - tools/bugreport.py - tools/chemenu/tests/test_bugreport.py
This commit is contained in:
1 parent
0899c670fe
commit
76d67e45ba
9 files changed
+850
-15
No files matched your search
@@ -294,3 +294,23 @@ jobs:
|
||||
test -f "$bundle/environment.json"
|
||||
grep -q '`wikitool` started' "$bundle/MANIFEST.md"
|
||||
ls reports/bugreport-*.zip
|
||||
# The same collector with --pseudonymise: the mapping lies beside the
|
||||
# bundle, not in it or its zip, and this container's hostname is gone.
|
||||
rm -rf reports/bugreport-*
|
||||
python3 tools/bugreport.py --no-trace --pseudonymise
|
||||
bundle=$(ls -d reports/bugreport-*/ | head -n 1)
|
||||
bundle=${bundle%/}
|
||||
test -f "$bundle.pseudonyms.json"
|
||||
test -f "$bundle.review.txt"
|
||||
grep -q 'stage 1 applied, stage 2 not yet applied' "$bundle/MANIFEST.md"
|
||||
python3 - "$bundle" <<'PY'
|
||||
import socket, sys, zipfile
|
||||
from pathlib import Path
|
||||
bundle = Path(sys.argv[1])
|
||||
names = zipfile.ZipFile(str(bundle) + ".zip").namelist()
|
||||
assert not [n for n in names if "pseudonyms" in n or "review" in n], names
|
||||
host = socket.gethostname()
|
||||
for path in bundle.rglob("*"):
|
||||
if path.is_file():
|
||||
assert host not in path.read_text(encoding="utf-8", errors="replace"), path
|
||||
PY
|
||||
Reference in new issue
Block a user