Avoid "." path in InotifyEventDriverWatchers.
The vibe-core tests broke because a "/./" path segment slipped into the resulting paths.
This commit is contained in:
parent
faf4bbcdc1
commit
a9ae496fb4
|
@ -41,7 +41,7 @@ final class InotifyEventDriverWatchers(Events : EventDriverEvents) : EventDriver
|
||||||
|
|
||||||
m_watches[ret] = WatchState(null, path, recursive);
|
m_watches[ret] = WatchState(null, path, recursive);
|
||||||
|
|
||||||
addWatch(ret, path, ".");
|
addWatch(ret, path, "");
|
||||||
if (recursive) {
|
if (recursive) {
|
||||||
try {
|
try {
|
||||||
auto base_segements = path.pathSplitter.walkLength;
|
auto base_segements = path.pathSplitter.walkLength;
|
||||||
|
@ -138,7 +138,7 @@ final class InotifyEventDriverWatchers(Events : EventDriverEvents) : EventDriver
|
||||||
auto subdir = w.watcherPaths[ev.wd];
|
auto subdir = w.watcherPaths[ev.wd];
|
||||||
|
|
||||||
if (w.recursive && ev.mask & (IN_CREATE|IN_MOVED_TO) && ev.mask & IN_ISDIR) {
|
if (w.recursive && ev.mask & (IN_CREATE|IN_MOVED_TO) && ev.mask & IN_ISDIR) {
|
||||||
addWatch(id, w.basePath, subdir == "." ? name.idup : buildPath(subdir, name));
|
addWatch(id, w.basePath, subdir == "" ? name.idup : buildPath(subdir, name));
|
||||||
}
|
}
|
||||||
|
|
||||||
ch.baseDirectory = m_watches[id].basePath;
|
ch.baseDirectory = m_watches[id].basePath;
|
||||||
|
|
|
@ -160,5 +160,7 @@ print("test %s RENAME %s %s", from, to, expect_change);
|
||||||
|
|
||||||
FileChange fchange(FileChangeKind kind, string name, bool is_dir)
|
FileChange fchange(FileChangeKind kind, string name, bool is_dir)
|
||||||
{
|
{
|
||||||
return FileChange(kind, testDir, dirName(name), baseName(name), is_dir);
|
auto dn = dirName(name);
|
||||||
|
if (dn == ".") dn = "";
|
||||||
|
return FileChange(kind, testDir, dn, baseName(name), is_dir);
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,17 +27,20 @@ void main()
|
||||||
default: assert(false);
|
default: assert(false);
|
||||||
case 0:
|
case 0:
|
||||||
assert(change.kind == FileChangeKind.added);
|
assert(change.kind == FileChangeKind.added);
|
||||||
assert(change.directory == ".");
|
assert(change.baseDirectory == ".");
|
||||||
|
assert(change.directory == "");
|
||||||
assert(change.name == testFilename);
|
assert(change.name == testFilename);
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
assert(change.kind == FileChangeKind.modified);
|
assert(change.kind == FileChangeKind.modified);
|
||||||
assert(change.directory == ".");
|
assert(change.baseDirectory == ".");
|
||||||
|
assert(change.directory == "");
|
||||||
assert(change.name == testFilename);
|
assert(change.name == testFilename);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
assert(change.kind == FileChangeKind.removed);
|
assert(change.kind == FileChangeKind.removed);
|
||||||
assert(change.directory == ".");
|
assert(change.baseDirectory == ".");
|
||||||
|
assert(change.directory == "");
|
||||||
assert(change.name == testFilename);
|
assert(change.name == testFilename);
|
||||||
eventDriver.watchers.releaseRef(id);
|
eventDriver.watchers.releaseRef(id);
|
||||||
s_done = true;
|
s_done = true;
|
||||||
|
|
Loading…
Reference in a new issue