I've expanded the coverage of the posixpath test. The following scenarios have been added:
- lexists with a non-existent file.
- ismount with binary data.
- ismount with a directory that is not a mountpoint.
- ismount with a non-existent file.
- ismount with a symlink.
- expanduser with $HOME unset.
- realpath with a relative path.
- sameopenfile with a basic test.
I have tested it on Ubuntu natty (20110311) and Mac OSX 10.6.6.

The patch includes an unconditional "import posix" that will fail on Windows.
posixpath is available on windows (although not *all* its functionality makes sense), so the whole test should not be skipped - but it is reasonable to skip just the new tests using posix.
Something like:
try:
import posix
except ImportError:
posix = None
Then decorated tests that use posix with:
@unittest.skipIf(posix is None, "Test requires posix module")

Note that instead of try finally constructs you can create a cleanup function and call self.addCleanup(...). This reduces extra levels of indentation in your test code.
In the new code in "test_ismount", from "# Non-existent mountpoint" on, I would turn this into a new test. (Does os.symlink *always* exist - if it is platform dependent you should skip the test if it isn't available.)

I haven't used addCleanup here, but have noted it for the future. In this case, using it would require adding another function to handle the reassignment, which I think is a bit more messy than the extra bit of indentation.