Skip to content

Commit 9562bf4

Browse files
committed
Revert "test: refactor test-fs-error-messages.js"
This reverts commit 907ce8d. PR-URL: #11155 Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Timothy Gu <[email protected]>
1 parent 046f66a commit 9562bf4

File tree

1 file changed

+164
-118
lines changed

1 file changed

+164
-118
lines changed

test/parallel/test-fs-error-messages.js

+164-118
Original file line numberDiff line numberDiff line change
@@ -9,156 +9,202 @@ const existingFile2 = path.join(common.fixturesDir, 'create-file.js');
99
const existingDir = path.join(common.fixturesDir, 'empty');
1010
const existingDir2 = path.join(common.fixturesDir, 'keys');
1111

12-
// Test all operations failing with ENOENT errors
13-
function testEnoentError(file, endMessage, syscal, err) {
14-
const sufix = (endMessage) ? endMessage : '';
12+
// ASYNC_CALL
1513

16-
assert(err instanceof Error);
14+
fs.stat(fn, function(err) {
1715
assert.strictEqual(fn, err.path);
18-
assert.strictEqual(
19-
err.message,
20-
`ENOENT: no such file or directory, ${syscal} '${file}'${sufix}`
21-
);
22-
23-
return true;
24-
}
16+
assert.ok(0 <= err.message.indexOf(fn));
17+
});
2518

26-
// Test all operations failing with EEXIST errors
27-
function testEexistError(source, dest, syscal, err) {
28-
const sufix = (dest) ? ` -> '${dest}'` : '';
19+
fs.lstat(fn, function(err) {
20+
assert.ok(0 <= err.message.indexOf(fn));
21+
});
2922

30-
assert(err instanceof Error);
31-
assert.strictEqual(source, err.path);
32-
assert.strictEqual(
33-
err.message,
34-
`EEXIST: file already exists, ${syscal} '${source}'${sufix}`
35-
);
23+
fs.readlink(fn, function(err) {
24+
assert.ok(0 <= err.message.indexOf(fn));
25+
});
3626

37-
return true;
38-
}
27+
fs.link(fn, 'foo', function(err) {
28+
assert.ok(0 <= err.message.indexOf(fn));
29+
});
3930

40-
// Test all operations failing with ENOTEMPTY errors
41-
function testEnoemptyError(source, dest, err) {
42-
assert(err instanceof Error);
43-
assert.strictEqual(source, err.path);
44-
assert.strictEqual(
45-
err.message,
46-
`ENOTEMPTY: directory not empty, rename '${source}' ` +
47-
`-> '${dest}'`
48-
);
49-
50-
return true;
51-
}
31+
fs.link(existingFile, existingFile2, function(err) {
32+
assert.ok(0 <= err.message.indexOf(existingFile));
33+
assert.ok(0 <= err.message.indexOf(existingFile2));
34+
});
5235

53-
// Test all operations failing with ENOTDIR errors
54-
function testEnotdirError(dir, err) {
55-
assert(err instanceof Error);
56-
assert.strictEqual(dir, err.path);
57-
assert.strictEqual(
58-
err.message,
59-
`ENOTDIR: not a directory, rmdir '${dir}'`
60-
);
36+
fs.symlink(existingFile, existingFile2, function(err) {
37+
assert.ok(0 <= err.message.indexOf(existingFile));
38+
assert.ok(0 <= err.message.indexOf(existingFile2));
39+
});
6140

62-
return true;
63-
}
41+
fs.unlink(fn, function(err) {
42+
assert.ok(0 <= err.message.indexOf(fn));
43+
});
6444

65-
// Generating ENOENTS errors
66-
fs.stat(fn, (err) => testEnoentError(fn, '', 'stat', err));
67-
fs.lstat(fn, (err) => testEnoentError(fn, '', 'lstat', err));
68-
fs.readlink(fn, (err) => testEnoentError(fn, '', 'readlink', err));
69-
fs.link(fn, 'foo', (err) => testEnoentError(fn, ' -> \'foo\'', 'link', err));
70-
fs.unlink(fn, (err) => testEnoentError(fn, '', 'unlink', err));
71-
fs.rmdir(fn, (err) => testEnoentError(fn, '', 'rmdir', err));
72-
fs.chmod(fn, 0o666, (err) => testEnoentError(fn, '', 'chmod', err));
73-
fs.open(fn, 'r', 0o666, (err) => testEnoentError(fn, '', 'open', err));
74-
fs.readFile(fn, (err) => testEnoentError(fn, '', 'open', err));
75-
fs.readdir(fn, (err) => testEnoentError(fn, '', 'scandir', err));
45+
fs.rename(fn, 'foo', function(err) {
46+
assert.ok(0 <= err.message.indexOf(fn));
47+
});
7648

77-
fs.rename(fn, 'foo', (err) => {
78-
testEnoentError(fn, ' -> \'foo\'', 'rename', err);
49+
fs.rename(existingDir, existingDir2, function(err) {
50+
assert.ok(0 <= err.message.indexOf(existingDir));
51+
assert.ok(0 <= err.message.indexOf(existingDir2));
7952
});
8053

81-
assert.throws(() => {
82-
fs.statSync(fn);
83-
}, (err) => testEnoentError(fn, '', 'stat', err));
54+
fs.rmdir(fn, function(err) {
55+
assert.ok(0 <= err.message.indexOf(fn));
56+
});
8457

85-
assert.throws(() => {
86-
fs.lstatSync(fn);
87-
}, (err) => testEnoentError(fn, '', 'lstat', err));
58+
fs.mkdir(existingFile, 0o666, function(err) {
59+
assert.ok(0 <= err.message.indexOf(existingFile));
60+
});
8861

89-
assert.throws(() => {
90-
fs.readlinkSync(fn);
91-
}, (err) => testEnoentError(fn, '', 'readlink', err));
62+
fs.rmdir(existingFile, function(err) {
63+
assert.ok(0 <= err.message.indexOf(existingFile));
64+
});
9265

93-
assert.throws(() => {
94-
fs.linkSync(fn, 'foo');
95-
}, (err) => testEnoentError(fn, ' -> \'foo\'', 'link', err));
66+
fs.chmod(fn, 0o666, function(err) {
67+
assert.ok(0 <= err.message.indexOf(fn));
68+
});
9669

97-
assert.throws(() => {
98-
fs.unlinkSync(fn);
99-
}, (err) => testEnoentError(fn, '', 'unlink', err));
70+
fs.open(fn, 'r', 0o666, function(err) {
71+
assert.ok(0 <= err.message.indexOf(fn));
72+
});
10073

101-
assert.throws(() => {
102-
fs.rmdirSync(fn);
103-
}, (err) => testEnoentError(fn, '', 'rmdir', err));
74+
fs.readFile(fn, function(err) {
75+
assert.ok(0 <= err.message.indexOf(fn));
76+
});
10477

105-
assert.throws(() => {
106-
fs.chmodSync(fn, 0o666);
107-
}, (err) => testEnoentError(fn, '', 'chmod', err));
78+
// Sync
10879

109-
assert.throws(() => {
110-
fs.openSync(fn, 'r');
111-
}, (err) => testEnoentError(fn, '', 'open', err));
80+
const errors = [];
81+
let expected = 0;
11282

113-
assert.throws(() => {
114-
fs.readFileSync(fn);
115-
}, (err) => testEnoentError(fn, '', 'open', err));
83+
try {
84+
++expected;
85+
fs.statSync(fn);
86+
} catch (err) {
87+
errors.push('stat');
88+
assert.ok(0 <= err.message.indexOf(fn));
89+
}
11690

117-
assert.throws(() => {
118-
fs.readdirSync(fn);
119-
}, (err) => testEnoentError(fn, '', 'scandir', err));
91+
try {
92+
++expected;
93+
fs.mkdirSync(existingFile, 0o666);
94+
} catch (err) {
95+
errors.push('mkdir');
96+
assert.ok(0 <= err.message.indexOf(existingFile));
97+
}
12098

121-
assert.throws(() => {
122-
fs.renameSync(fn, 'foo');
123-
}, (err) => testEnoentError(fn, ' -> \'foo\'', 'rename', err));
99+
try {
100+
++expected;
101+
fs.chmodSync(fn, 0o666);
102+
} catch (err) {
103+
errors.push('chmod');
104+
assert.ok(0 <= err.message.indexOf(fn));
105+
}
124106

125-
// Generating EEXIST errors
126-
fs.link(existingFile, existingFile2, (err) => {
127-
testEexistError(existingFile, existingFile2, 'link', err);
128-
});
107+
try {
108+
++expected;
109+
fs.lstatSync(fn);
110+
} catch (err) {
111+
errors.push('lstat');
112+
assert.ok(0 <= err.message.indexOf(fn));
113+
}
129114

130-
fs.symlink(existingFile, existingFile2, (err) => {
131-
testEexistError(existingFile, existingFile2, 'symlink', err);
132-
});
115+
try {
116+
++expected;
117+
fs.readlinkSync(fn);
118+
} catch (err) {
119+
errors.push('readlink');
120+
assert.ok(0 <= err.message.indexOf(fn));
121+
}
133122

134-
fs.mkdir(existingFile, 0o666, (err) => {
135-
testEexistError(existingFile, null, 'mkdir', err);
136-
});
123+
try {
124+
++expected;
125+
fs.linkSync(fn, 'foo');
126+
} catch (err) {
127+
errors.push('link');
128+
assert.ok(0 <= err.message.indexOf(fn));
129+
}
137130

138-
assert.throws(() => {
131+
try {
132+
++expected;
139133
fs.linkSync(existingFile, existingFile2);
140-
}, (err) => testEexistError(existingFile, existingFile2, 'link', err));
134+
} catch (err) {
135+
errors.push('link');
136+
assert.ok(0 <= err.message.indexOf(existingFile));
137+
assert.ok(0 <= err.message.indexOf(existingFile2));
138+
}
141139

142-
assert.throws(() => {
140+
try {
141+
++expected;
143142
fs.symlinkSync(existingFile, existingFile2);
144-
}, (err) => testEexistError(existingFile, existingFile2, 'symlink', err));
143+
} catch (err) {
144+
errors.push('symlink');
145+
assert.ok(0 <= err.message.indexOf(existingFile));
146+
assert.ok(0 <= err.message.indexOf(existingFile2));
147+
}
145148

146-
assert.throws(() => {
147-
fs.mkdirSync(existingFile, 0o666);
148-
}, (err) => testEexistError(existingFile, null, 'mkdir', err));
149+
try {
150+
++expected;
151+
fs.unlinkSync(fn);
152+
} catch (err) {
153+
errors.push('unlink');
154+
assert.ok(0 <= err.message.indexOf(fn));
155+
}
149156

150-
// Generating ENOTEMPTY errors
151-
fs.rename(existingDir, existingDir2, (err) => {
152-
testEnoemptyError(existingDir, existingDir2, err);
153-
});
157+
try {
158+
++expected;
159+
fs.rmdirSync(fn);
160+
} catch (err) {
161+
errors.push('rmdir');
162+
assert.ok(0 <= err.message.indexOf(fn));
163+
}
164+
165+
try {
166+
++expected;
167+
fs.rmdirSync(existingFile);
168+
} catch (err) {
169+
errors.push('rmdir');
170+
assert.ok(0 <= err.message.indexOf(existingFile));
171+
}
172+
173+
try {
174+
++expected;
175+
fs.openSync(fn, 'r');
176+
} catch (err) {
177+
errors.push('opens');
178+
assert.ok(0 <= err.message.indexOf(fn));
179+
}
154180

155-
assert.throws(() => {
181+
try {
182+
++expected;
183+
fs.renameSync(fn, 'foo');
184+
} catch (err) {
185+
errors.push('rename');
186+
assert.ok(0 <= err.message.indexOf(fn));
187+
}
188+
189+
try {
190+
++expected;
156191
fs.renameSync(existingDir, existingDir2);
157-
}, (err) => testEnoemptyError(existingDir, existingDir2, err));
192+
} catch (err) {
193+
errors.push('rename');
194+
assert.ok(0 <= err.message.indexOf(existingDir));
195+
assert.ok(0 <= err.message.indexOf(existingDir2));
196+
}
158197

159-
// Generating ENOTDIR errors
160-
fs.rmdir(existingFile, (err) => testEnotdirError(existingFile, err));
198+
try {
199+
++expected;
200+
fs.readdirSync(fn);
201+
} catch (err) {
202+
errors.push('readdir');
203+
assert.ok(0 <= err.message.indexOf(fn));
204+
}
161205

162-
assert.throws(() => {
163-
fs.rmdirSync(existingFile);
164-
}, (err) => testEnotdirError(existingFile, err));
206+
process.on('exit', function() {
207+
assert.strictEqual(expected, errors.length,
208+
'Test fs sync exceptions raised, got ' + errors.length +
209+
' expected ' + expected);
210+
});

0 commit comments

Comments
 (0)