Current default's listdir returns files that it shouldn't from subdirectories.
It looks like listdir in s3boto just needs a small fix. I added the following line after the first line:
name = "%s/" % name # for the bucket.list and logic below name needs to end in /
And it fixes my test case that's failing. Any chance this issue can be fixed to save the need to fork and fix.