-
Notifications
You must be signed in to change notification settings - Fork 91
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Difference in readlink results #359
Comments
(will be curious to see if the location of the bug matches what TSTL thinks it is) |
(assuming it's an actual bug) |
Just confirmed - it's an actual bug, and can be reproduced under all tested Posix versions (but not under Windows, where it behaves like pyfakefs). I may have a look in the evening... |
So, out of curiosity - where TSTL thinks the bug was located? Does it evaluate the call stack for that? I know, I could just check the code... |
TSTL was totally wrong, I think. It reported these code locations as
plausible (though none very "suspicous"):
FAULT LOCALIZATION RESULTS (TOP 20 RESULTS)
STATEMENTS:
(u'/Users/alex/tstl/examples/trypyfakefs/pyfakefs/fake_filesystem.py',
604) 0.0811494645851
(u'/Users/alex/tstl/examples/trypyfakefs/pyfakefs/fake_filesystem.py',
356) 0.0811494645851
(u'/Users/alex/tstl/examples/trypyfakefs/pyfakefs/fake_filesystem.py',
2379) 0.0811494645851
(u'/Users/alex/tstl/examples/trypyfakefs/pyfakefs/fake_filesystem.py',
353) 0.0811494645851
(u'/Users/alex/tstl/examples/trypyfakefs/pyfakefs/fake_filesystem.py',
1046) 0.0811494645851
(u'/Users/alex/tstl/examples/trypyfakefs/pyfakefs/fake_filesystem.py',
2366) 0.0811494645851
(u'/Users/alex/tstl/examples/trypyfakefs/pyfakefs/fake_filesystem.py',
2373) 0.0811494645851
(u'/Users/alex/tstl/examples/trypyfakefs/pyfakefs/fake_filesystem.py',
355) 0.0811494645851
(u'/Users/alex/tstl/examples/trypyfakefs/pyfakefs/fake_filesystem.py',
2370) 0.0811494645851
(u'/Users/alex/tstl/examples/trypyfakefs/pyfakefs/fake_filesystem.py',
1040) 0.0811494645851
(u'/Users/alex/tstl/examples/trypyfakefs/pyfakefs/fake_filesystem.py',
2360) 0.0811494645851
(u'/Users/alex/tstl/examples/trypyfakefs/pyfakefs/helpers.py', 172)
0.0811494645851
(u'/Users/alex/tstl/examples/trypyfakefs/pyfakefs/fake_filesystem.py',
2375) 0.0811494645851
(u'/Users/alex/tstl/examples/trypyfakefs/pyfakefs/fake_filesystem.py',
348) 0.0811494645851
(u'/Users/alex/tstl/examples/trypyfakefs/pyfakefs/fake_filesystem.py',
1042) 0.0811494645851
(u'/Users/alex/tstl/examples/trypyfakefs/pyfakefs/fake_filesystem.py',
2376) 0.0811494645851
(u'/Users/alex/tstl/examples/trypyfakefs/pyfakefs/fake_filesystem.py',
358) 0.0811494645851
(u'/Users/alex/tstl/examples/trypyfakefs/pyfakefs/helpers.py', 174)
0.0811494645851
(u'/Users/alex/tstl/examples/trypyfakefs/pyfakefs/fake_filesystem.py',
2369) 0.0811494645851
(u'/Users/alex/tstl/examples/trypyfakefs/pyfakefs/fake_filesystem.py',
383) 0.0811494645851
BRANCHES:
(u'/Users/alex/tstl/examples/trypyfakefs/pyfakefs/fake_filesystem.py',
(1338, 1342)) 0.0859906570186
(u'/Users/alex/tstl/examples/trypyfakefs/pyfakefs/helpers.py', (174,
-170)) 0.0811494645851
(u'/Users/alex/tstl/examples/trypyfakefs/pyfakefs/fake_filesystem.py',
(-976, 977)) 0.0811494645851
(u'/Users/alex/tstl/examples/trypyfakefs/pyfakefs/fake_filesystem.py',
(604, -580)) 0.0811494645851
(u'/Users/alex/tstl/examples/trypyfakefs/pyfakefs/fake_filesystem.py',
(978, 979)) 0.0811494645851
(u'/Users/alex/tstl/examples/trypyfakefs/pyfakefs/fake_filesystem.py',
(349, 351)) 0.0811494645851
(u'/Users/alex/tstl/examples/trypyfakefs/pyfakefs/fake_filesystem.py',
(2370, 2371)) 0.0811494645851
(u'/Users/alex/tstl/examples/trypyfakefs/pyfakefs/helpers.py', (172,
174)) 0.0811494645851
(u'/Users/alex/tstl/examples/trypyfakefs/pyfakefs/fake_filesystem.py',
(2371, 2373)) 0.0811494645851
(u'/Users/alex/tstl/examples/trypyfakefs/pyfakefs/fake_filesystem.py',
(357, 358)) 0.0811494645851
(u'/Users/alex/tstl/examples/trypyfakefs/pyfakefs/fake_filesystem.py',
(603, 604)) 0.0811494645851
(u'/Users/alex/tstl/examples/trypyfakefs/pyfakefs/fake_filesystem.py',
(602, 603)) 0.0811494645851
(u'/Users/alex/tstl/examples/trypyfakefs/pyfakefs/fake_filesystem.py',
(2376, 2379)) 0.0811494645851
(u'/Users/alex/tstl/examples/trypyfakefs/pyfakefs/fake_filesystem.py',
(354, 355)) 0.0811494645851
(u'/Users/alex/tstl/examples/trypyfakefs/pyfakefs/fake_filesystem.py',
(2366, 2367)) 0.0811494645851
(u'/Users/alex/tstl/examples/trypyfakefs/pyfakefs/fake_filesystem.py',
(979, -976)) 0.0811494645851
(u'/Users/alex/tstl/examples/trypyfakefs/pyfakefs/fake_filesystem.py',
(-1026, 1040)) 0.0811494645851
(u'/Users/alex/tstl/examples/trypyfakefs/pyfakefs/helpers.py', (-170,
172)) 0.0811494645851
(u'/Users/alex/tstl/examples/trypyfakefs/pyfakefs/fake_filesystem.py',
(2374, 2375)) 0.0811494645851
(u'/Users/alex/tstl/examples/trypyfakefs/pyfakefs/fake_filesystem.py',
(1040, 1041)) 0.0811494645851
This is locations in pre-fix code, of course. It seems pretty far from the
patch, right?
…On Wed, Apr 4, 2018 at 8:39 PM, mrbean-bremen ***@***.***> wrote:
So, out of curiosity - where TSTL thinks the bug was located? Does it
evaluate the call stack for that? I know, I could just check the code...
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#359 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AA7EiN0S2phf_WmkEhXxPk_b-2tAAKjDks5tlZHegaJpZM4TF7Dg>
.
--
Alex David Groce
School of Informatics, Computing, and Cyber Systems
Northern Arizona University
|
At least the statements all seem to be in the file creation code, e.g. the test setup, so, yeah, it's off. I'm not sure what the numbers for the branches mean, so I didn't check these. Is the last number a probability? |
The branch numbers are "branch from line X to line Y" negatives iirc mean a
not-taken branch...
…On Wed, Apr 4, 2018 at 10:34 PM, mrbean-bremen ***@***.***> wrote:
At least the statements all seem to be in the file creation code, e.g. the
test setup, so, yeah, it's off. I'm not sure what the numbers for the
branches mean, so I didn't check these. Is the last number a probability?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#359 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AA7EiOsXDbqp0LG8-0252Z82hoKpFPq_ks5tlazdgaJpZM4TF7Dg>
.
--
Alex David Groce
School of Informatics, Computing, and Cyber Systems
Northern Arizona University
|
The second numbers in all cases are "suspiciousness" -- how likely to be
faulty this statement seems to be. Hmm, it just looks like totally bogus
data, which is rather unusual (I've localized some pyfakefs bugs with this
before and they matched the fix fairly well, though I don't think it's the
most useful information, really -- a good small test case is the best fault
localization).
…On Wed, Apr 4, 2018 at 10:41 PM, Alex Groce ***@***.***> wrote:
The branch numbers are "branch from line X to line Y" negatives iirc mean
a not-taken branch...
On Wed, Apr 4, 2018 at 10:34 PM, mrbean-bremen ***@***.***>
wrote:
> At least the statements all seem to be in the file creation code, e.g.
> the test setup, so, yeah, it's off. I'm not sure what the numbers for the
> branches mean, so I didn't check these. Is the last number a probability?
>
> —
> You are receiving this because you authored the thread.
> Reply to this email directly, view it on GitHub
> <#359 (comment)>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/AA7EiOsXDbqp0LG8-0252Z82hoKpFPq_ks5tlazdgaJpZM4TF7Dg>
> .
>
--
Alex David Groce
School of Informatics, Computing, and Cyber Systems
Northern Arizona University
--
Alex David Groce
School of Informatics, Computing, and Cyber Systems
Northern Arizona University
|
Yes, I agree, at least in the case of pyfakefs. I basically always write regression tests by slightly adapting your failing tests. |
Was playing with fault localization in TSTL, ran across this. OS X yields:
pyfakefs just returns
/Volumes/ramdisk/test
The text was updated successfully, but these errors were encountered: