Mercurial > public > mercurial-scm > hg
diff mercurial/debugcommands.py @ 45149:87047efbc6a6
debugcommands: create new debugantivirusrunning command
This writes the EICAR test file to .hg/cache, in an attempt to trigger
an AV scanner's scanning engine. This should let us (in theory) detect
some cases when a user's slowness is a result of AV scanning.
Differential Revision: https://phab.mercurial-scm.org/D8353
author | Augie Fackler <augie@google.com> |
---|---|
date | Wed, 01 Apr 2020 08:42:00 -0500 |
parents | 4a28f5e8408e |
children | 91aa9bba3dc9 |
line wrap: on
line diff
--- a/mercurial/debugcommands.py Fri Jul 17 03:28:52 2020 +0200 +++ b/mercurial/debugcommands.py Wed Apr 01 08:42:00 2020 -0500 @@ -127,6 +127,23 @@ ui.write(b'%d:%s\n' % (r.rev(a), hex(a))) +@command(b'debugantivirusrunning', []) +def debugantivirusrunning(ui, repo): + """attempt to trigger an antivirus scanner to see if one is active""" + with repo.cachevfs.open('eicar-test-file.com', b'wb') as f: + f.write( + util.b85decode( + # This is a base85-armored version of the EICAR test file. See + # https://en.wikipedia.org/wiki/EICAR_test_file for details. + b'ST#=}P$fV?P+K%yP+C|uG$>GBDK|qyDK~v2MM*<JQY}+dK~6+LQba95P' + b'E<)&Nm5l)EmTEQR4qnHOhq9iNGnJx' + ) + ) + # Give an AV engine time to scan the file. + time.sleep(2) + util.unlink(repo.cachevfs.join('eicar-test-file.com')) + + @command(b'debugapplystreamclonebundle', [], b'FILE') def debugapplystreamclonebundle(ui, repo, fname): """apply a stream clone bundle file"""