Ignore angr run-time database directories - #211
Conversation
|
THIS MESSAGE WAS GENERATED BY AN AUTOMATED PROCESS Validation record for head
Caveats: this repository has no test suite and no pre-commit configuration, so there is nothing else to run. It hides the directories rather than stopping angr from creating them; that behaviour is angr's intended default and is not changed here. |
|
THIS MESSAGE WAS GENERATED BY AN AUTOMATED PROCESS Opening angr's run-time database beside Before — the directory the killed worker left behind is untracked and stays in angr/binaries at masterAfter — the same directory is ignored, and with this change |
angr writes its run-time LMDB database beside the binary it loads unless RTDB_BASE points elsewhere, so running an analysis over a fixture leaves a <fixture>_angr_rtdb directory next to it. angr's own .gitignore already ignores both spellings; mirror them here so they cannot be staged by accident.
b10d0d3 to
edfd555
Compare
THIS MESSAGE WAS GENERATED BY AN AUTOMATED PROCESS
Problem
angr writes its run-time LMDB database beside the binary it loads unless
RTDB_BASEpoints elsewhere, so analysing the fixtures here leaves a<fixture>_angr_rtdbdirectory next to each one. The directory is removed on a clean exit and survives anything else — a kill, an out-of-memory stop, an interrupted sweep. Nothing ignores it:They accumulate: one local checkout of this repository used for angr test runs holds 299 of them. Every one is a line of
git statusoutput that a fixture author has to read past, and agit add -Asweeps them into a commit.Root cause
The two names angr can give that directory —
<binary>_angr_rtdband, when that one is taken,<binary>_angr_rtdb_<uuid>— are ignored in angr's own repository and nowhere else.angr/binarieshas no.gitignoreentry for either, and it is the repository the directories are actually created in, because it is where the binaries are.Fix
Add the same two lines angr's
.gitignorecarries at lines 39-40 to this repository's.gitignore:It hides the directories rather than stopping angr from creating them; creating them is angr's intended default and is not changed here.
Testing
git ls-files | grep -i angr_rtdbreturns nothing on master, so neither pattern can mask a tracked file. Both spellings were checked withgit check-ignore -vagainst a directory angr had actually created, one matching.gitignore:10and the other.gitignore:11. This repository has no suite and no pre-commit configuration, so there is nothing else to run.Validation: #211 (comment)
session: sharpen