Can you add test for failure cases? such as * `str|commonprefix` * `int|commonprefix` * nothing common (e.g. `["/foo", "bar"]`) * empty list * paths normalized by `os.path.normcase()` `os.path.commonprefix()` isn't what we want, but it might provide some hints.