Index: tests/standalone/io/file_lock_test.dart |
diff --git a/tests/standalone/io/file_lock_test.dart b/tests/standalone/io/file_lock_test.dart |
index c24cbe2539da5c93c2e26c2d068069b702c17031..c1d7aef2e5d8704a731bb0a17181c90485eb04e0 100644 |
--- a/tests/standalone/io/file_lock_test.dart |
+++ b/tests/standalone/io/file_lock_test.dart |
@@ -16,33 +16,34 @@ check(String path, int start, int end, FileLock mode, {bool locked}) { |
// Client process returns either 'LOCK FAILED' or 'LOCK SUCCEEDED'. |
var expected = locked ? 'LOCK FAILED' : 'LOCK SUCCEEDED'; |
var arguments = [] |
- ..addAll(Platform.executableArguments) |
- ..add(Platform.script.resolve('file_lock_script.dart').toFilePath()) |
- ..add(path) |
- ..add(mode == FileLock.EXCLUSIVE ? 'EXCLUSIVE' : 'SHARED') |
- ..add('$start') |
- ..add('$end'); |
- return Process.run(Platform.executable, arguments) |
- .then((ProcessResult result) { |
- if (result.exitCode != 0 || !result.stdout.contains(expected)) { |
- print("Client failed, exit code ${result.exitCode}"); |
- print(" stdout:"); |
- print(result.stdout); |
- print(" stderr:"); |
- print(result.stderr); |
- print(" arguments:"); |
- print(arguments); |
- Expect.fail('Client subprocess exit code: ${result.exitCode}'); |
- } |
- }); |
+ ..addAll(Platform.executableArguments) |
+ ..add(Platform.script.resolve('file_lock_script.dart').toFilePath()) |
+ ..add(path) |
+ ..add(mode == FileLock.EXCLUSIVE ? 'EXCLUSIVE' : 'SHARED') |
+ ..add('$start') |
+ ..add('$end'); |
+ return Process |
+ .run(Platform.executable, arguments) |
+ .then((ProcessResult result) { |
+ if (result.exitCode != 0 || !result.stdout.contains(expected)) { |
+ print("Client failed, exit code ${result.exitCode}"); |
+ print(" stdout:"); |
+ print(result.stdout); |
+ print(" stderr:"); |
+ print(result.stderr); |
+ print(" arguments:"); |
+ print(arguments); |
+ Expect.fail('Client subprocess exit code: ${result.exitCode}'); |
+ } |
+ }); |
} |
checkLocked(String path, |
- [int start = 0, int end = -1, FileLock mode = FileLock.EXCLUSIVE]) => |
+ [int start = 0, int end = -1, FileLock mode = FileLock.EXCLUSIVE]) => |
check(path, start, end, mode, locked: true); |
checkNotLocked(String path, |
- [int start = 0, int end = -1, FileLock mode = FileLock.EXCLUSIVE]) => |
+ [int start = 0, int end = -1, FileLock mode = FileLock.EXCLUSIVE]) => |
check(path, start, end, mode, locked: false); |
void testLockWholeFile() { |
@@ -55,8 +56,7 @@ void testLockWholeFile() { |
checkLocked(file.path).then((_) { |
return checkLocked(file.path, 0, 2).then((_) { |
raf.unlockSync(); |
- return checkNotLocked(file.path).then((_) { |
- }); |
+ return checkNotLocked(file.path).then((_) {}); |
}); |
}).whenComplete(() { |
raf.closeSync(); |
@@ -72,16 +72,15 @@ void testLockWholeFileAsync() { |
var raf = file.openSync(mode: WRITE); |
asyncStart(); |
Future.forEach([ |
- () => raf.lock(), |
- () => checkLocked(file.path, 0, 2), |
- () => checkLocked(file.path), |
- () => raf.unlock(), |
- () => checkNotLocked(file.path), |
- ], |
- (f) => f()).whenComplete(() { |
- raf.closeSync(); |
- directory.deleteSync(recursive: true); |
- asyncEnd(); |
+ () => raf.lock(), |
+ () => checkLocked(file.path, 0, 2), |
+ () => checkLocked(file.path), |
+ () => raf.unlock(), |
+ () => checkNotLocked(file.path), |
+ ], (f) => f()).whenComplete(() { |
+ raf.closeSync(); |
+ directory.deleteSync(recursive: true); |
+ asyncEnd(); |
}); |
} |
@@ -93,42 +92,40 @@ void testLockRange() { |
var raf2 = file.openSync(mode: WRITE); |
asyncStart(); |
var tests = [ |
- () => raf1.lockSync(FileLock.EXCLUSIVE, 2, 3), |
- () => raf2.lockSync(FileLock.EXCLUSIVE, 5, 7), |
- () => checkNotLocked(file.path, 0, 2), |
- () => checkLocked(file.path, 0, 3), |
- () => checkNotLocked(file.path, 4, 5), |
- () => checkLocked(file.path, 4, 6), |
- () => checkLocked(file.path, 6), |
- () => checkNotLocked(file.path, 7), |
- () => raf1.unlockSync(2, 3), |
- () => checkNotLocked(file.path, 0, 5), |
- () => checkLocked(file.path, 4, 6), |
- () => checkLocked(file.path, 6), |
- () => checkNotLocked(file.path, 7), |
- ]; |
+ () => raf1.lockSync(FileLock.EXCLUSIVE, 2, 3), |
+ () => raf2.lockSync(FileLock.EXCLUSIVE, 5, 7), |
+ () => checkNotLocked(file.path, 0, 2), |
+ () => checkLocked(file.path, 0, 3), |
+ () => checkNotLocked(file.path, 4, 5), |
+ () => checkLocked(file.path, 4, 6), |
+ () => checkLocked(file.path, 6), |
+ () => checkNotLocked(file.path, 7), |
+ () => raf1.unlockSync(2, 3), |
+ () => checkNotLocked(file.path, 0, 5), |
+ () => checkLocked(file.path, 4, 6), |
+ () => checkLocked(file.path, 6), |
+ () => checkNotLocked(file.path, 7), |
+ ]; |
// On Windows regions unlocked must match regions locked. |
if (!Platform.isWindows) { |
tests.addAll([ |
- () => raf1.unlockSync(5, 6), |
- () => checkNotLocked(file.path, 0, 6), |
- () => checkLocked(file.path, 6), |
- () => checkNotLocked(file.path, 7), |
- () => raf2.unlockSync(6, 7), |
- () => checkNotLocked(file.path) |
- ]); |
+ () => raf1.unlockSync(5, 6), |
+ () => checkNotLocked(file.path, 0, 6), |
+ () => checkLocked(file.path, 6), |
+ () => checkNotLocked(file.path, 7), |
+ () => raf2.unlockSync(6, 7), |
+ () => checkNotLocked(file.path) |
+ ]); |
} else { |
- tests.addAll([ |
- () => raf2.unlockSync(5, 7), |
- () => checkNotLocked(file.path) |
- ]); |
+ tests |
+ .addAll([() => raf2.unlockSync(5, 7), () => checkNotLocked(file.path)]); |
} |
Future.forEach(tests, (f) => f()).whenComplete(() { |
- raf1.closeSync(); |
- raf2.closeSync(); |
- directory.deleteSync(recursive: true); |
- asyncEnd(); |
- }); |
+ raf1.closeSync(); |
+ raf2.closeSync(); |
+ directory.deleteSync(recursive: true); |
+ asyncEnd(); |
+ }); |
} |
void testLockRangeAsync() { |
@@ -139,42 +136,39 @@ void testLockRangeAsync() { |
var raf2 = file.openSync(mode: WRITE); |
asyncStart(); |
var tests = [ |
- () => raf1.lock(FileLock.EXCLUSIVE, 2, 3), |
- () => raf2.lock(FileLock.EXCLUSIVE, 5, 7), |
- () => checkNotLocked(file.path, 0, 2), |
- () => checkLocked(file.path, 0, 3), |
- () => checkNotLocked(file.path, 4, 5), |
- () => checkLocked(file.path, 4, 6), |
- () => checkLocked(file.path, 6), |
- () => checkNotLocked(file.path, 7), |
- () => raf1.unlock(2, 3), |
- () => checkNotLocked(file.path, 0, 5), |
- () => checkLocked(file.path, 4, 6), |
- () => checkLocked(file.path, 6), |
- () => checkNotLocked(file.path, 7), |
- ]; |
+ () => raf1.lock(FileLock.EXCLUSIVE, 2, 3), |
+ () => raf2.lock(FileLock.EXCLUSIVE, 5, 7), |
+ () => checkNotLocked(file.path, 0, 2), |
+ () => checkLocked(file.path, 0, 3), |
+ () => checkNotLocked(file.path, 4, 5), |
+ () => checkLocked(file.path, 4, 6), |
+ () => checkLocked(file.path, 6), |
+ () => checkNotLocked(file.path, 7), |
+ () => raf1.unlock(2, 3), |
+ () => checkNotLocked(file.path, 0, 5), |
+ () => checkLocked(file.path, 4, 6), |
+ () => checkLocked(file.path, 6), |
+ () => checkNotLocked(file.path, 7), |
+ ]; |
// On Windows regions unlocked must match regions locked. |
if (!Platform.isWindows) { |
tests.addAll([ |
- () => raf1.unlock(5, 6), |
- () => checkNotLocked(file.path, 0, 6), |
- () => checkLocked(file.path, 6), |
- () => checkNotLocked(file.path, 7), |
- () => raf2.unlock(6, 7), |
- () => checkNotLocked(file.path) |
- ]); |
+ () => raf1.unlock(5, 6), |
+ () => checkNotLocked(file.path, 0, 6), |
+ () => checkLocked(file.path, 6), |
+ () => checkNotLocked(file.path, 7), |
+ () => raf2.unlock(6, 7), |
+ () => checkNotLocked(file.path) |
+ ]); |
} else { |
- tests.addAll([ |
- () => raf2.unlock(5, 7), |
- () => checkNotLocked(file.path) |
- ]); |
+ tests.addAll([() => raf2.unlock(5, 7), () => checkNotLocked(file.path)]); |
} |
Future.forEach(tests, (f) => f()).whenComplete(() { |
- raf1.closeSync(); |
- raf2.closeSync(); |
- directory.deleteSync(recursive: true); |
- asyncEnd(); |
- }); |
+ raf1.closeSync(); |
+ raf2.closeSync(); |
+ directory.deleteSync(recursive: true); |
+ asyncEnd(); |
+ }); |
} |
void testLockEnd() { |
@@ -184,21 +178,20 @@ void testLockEnd() { |
var raf = file.openSync(mode: APPEND); |
asyncStart(); |
Future.forEach([ |
- () => raf.lockSync(FileLock.EXCLUSIVE, 2), |
- () => checkNotLocked(file.path, 0, 2), |
- () => checkLocked(file.path, 0, 3), |
- () => checkLocked(file.path, 9), |
- () => raf.writeFromSync(new List.filled(10, 0)), |
- () => checkLocked(file.path, 10), |
- () => checkLocked(file.path, 19), |
- () => raf.unlockSync(2), |
- () => checkNotLocked(file.path) |
- ], |
- (f) => f()).whenComplete(() { |
- raf.closeSync(); |
- directory.deleteSync(recursive: true); |
- asyncEnd(); |
- }); |
+ () => raf.lockSync(FileLock.EXCLUSIVE, 2), |
+ () => checkNotLocked(file.path, 0, 2), |
+ () => checkLocked(file.path, 0, 3), |
+ () => checkLocked(file.path, 9), |
+ () => raf.writeFromSync(new List.filled(10, 0)), |
+ () => checkLocked(file.path, 10), |
+ () => checkLocked(file.path, 19), |
+ () => raf.unlockSync(2), |
+ () => checkNotLocked(file.path) |
+ ], (f) => f()).whenComplete(() { |
+ raf.closeSync(); |
+ directory.deleteSync(recursive: true); |
+ asyncEnd(); |
+ }); |
} |
void testLockEndAsync() { |
@@ -208,21 +201,20 @@ void testLockEndAsync() { |
var raf = file.openSync(mode: APPEND); |
asyncStart(); |
Future.forEach([ |
- () => raf.lock(FileLock.EXCLUSIVE, 2), |
- () => checkNotLocked(file.path, 0, 2), |
- () => checkLocked(file.path, 0, 3), |
- () => checkLocked(file.path, 9), |
- () => raf.writeFromSync(new List.filled(10, 0)), |
- () => checkLocked(file.path, 10), |
- () => checkLocked(file.path, 19), |
- () => raf.unlock(2), |
- () => checkNotLocked(file.path) |
- ], |
- (f) => f()).whenComplete(() { |
- raf.closeSync(); |
- directory.deleteSync(recursive: true); |
- asyncEnd(); |
- }); |
+ () => raf.lock(FileLock.EXCLUSIVE, 2), |
+ () => checkNotLocked(file.path, 0, 2), |
+ () => checkLocked(file.path, 0, 3), |
+ () => checkLocked(file.path, 9), |
+ () => raf.writeFromSync(new List.filled(10, 0)), |
+ () => checkLocked(file.path, 10), |
+ () => checkLocked(file.path, 19), |
+ () => raf.unlock(2), |
+ () => checkNotLocked(file.path) |
+ ], (f) => f()).whenComplete(() { |
+ raf.closeSync(); |
+ directory.deleteSync(recursive: true); |
+ asyncEnd(); |
+ }); |
} |
void testLockShared() { |
@@ -232,16 +224,15 @@ void testLockShared() { |
var raf = file.openSync(); |
asyncStart(); |
Future.forEach([ |
- () => raf.lock(FileLock.SHARED), |
- () => checkLocked(file.path), |
- () => checkLocked(file.path, 0, 2), |
- () => checkNotLocked(file.path, 0, 2, FileLock.SHARED) |
- ], |
- (f) => f()).then((_) { |
- raf.closeSync(); |
- directory.deleteSync(recursive: true); |
- asyncEnd(); |
- }); |
+ () => raf.lock(FileLock.SHARED), |
+ () => checkLocked(file.path), |
+ () => checkLocked(file.path, 0, 2), |
+ () => checkNotLocked(file.path, 0, 2, FileLock.SHARED) |
+ ], (f) => f()).then((_) { |
+ raf.closeSync(); |
+ directory.deleteSync(recursive: true); |
+ asyncEnd(); |
+ }); |
} |
void testLockSharedAsync() { |
@@ -251,16 +242,15 @@ void testLockSharedAsync() { |
var raf = file.openSync(); |
asyncStart(); |
Future.forEach([ |
- () => raf.lock(FileLock.SHARED), |
- () => checkLocked(file.path), |
- () => checkLocked(file.path, 0, 2), |
- () => checkNotLocked(file.path, 0, 2, FileLock.SHARED) |
- ], |
- (f) => f()).whenComplete(() { |
- raf.closeSync(); |
- directory.deleteSync(recursive: true); |
- asyncEnd(); |
- }); |
+ () => raf.lock(FileLock.SHARED), |
+ () => checkLocked(file.path), |
+ () => checkLocked(file.path, 0, 2), |
+ () => checkNotLocked(file.path, 0, 2, FileLock.SHARED) |
+ ], (f) => f()).whenComplete(() { |
+ raf.closeSync(); |
+ directory.deleteSync(recursive: true); |
+ asyncEnd(); |
+ }); |
} |
void testLockAfterLength() { |
@@ -270,22 +260,21 @@ void testLockAfterLength() { |
var raf = file.openSync(mode: APPEND); |
asyncStart(); |
Future.forEach([ |
- () => raf.lockSync(FileLock.EXCLUSIVE, 2, 15), |
- () => checkNotLocked(file.path, 0, 2), |
- () => checkLocked(file.path, 0, 3), |
- () => checkLocked(file.path, 9), |
- () => checkLocked(file.path, 14), |
- () => raf.writeFromSync(new List.filled(10, 0)), |
- () => checkLocked(file.path, 10), |
- () => checkNotLocked(file.path, 15), |
- () => raf.unlockSync(2, 15), |
- () => checkNotLocked(file.path) |
- ], |
- (f) => f()).whenComplete(() { |
- raf.closeSync(); |
- directory.deleteSync(recursive: true); |
- asyncEnd(); |
- }); |
+ () => raf.lockSync(FileLock.EXCLUSIVE, 2, 15), |
+ () => checkNotLocked(file.path, 0, 2), |
+ () => checkLocked(file.path, 0, 3), |
+ () => checkLocked(file.path, 9), |
+ () => checkLocked(file.path, 14), |
+ () => raf.writeFromSync(new List.filled(10, 0)), |
+ () => checkLocked(file.path, 10), |
+ () => checkNotLocked(file.path, 15), |
+ () => raf.unlockSync(2, 15), |
+ () => checkNotLocked(file.path) |
+ ], (f) => f()).whenComplete(() { |
+ raf.closeSync(); |
+ directory.deleteSync(recursive: true); |
+ asyncEnd(); |
+ }); |
} |
void testLockAfterLengthAsync() { |
@@ -295,22 +284,21 @@ void testLockAfterLengthAsync() { |
var raf = file.openSync(mode: APPEND); |
asyncStart(); |
Future.forEach([ |
- () => raf.lock(FileLock.EXCLUSIVE, 2, 15), |
- () => checkNotLocked(file.path, 0, 2), |
- () => checkLocked(file.path, 0, 3), |
- () => checkLocked(file.path, 9), |
- () => checkLocked(file.path, 14), |
- () => raf.writeFromSync(new List.filled(10, 0)), |
- () => checkLocked(file.path, 10), |
- () => checkNotLocked(file.path, 15), |
- () => raf.unlock(2, 15), |
- () => checkNotLocked(file.path) |
- ], |
- (f) => f()).whenComplete(() { |
- raf.closeSync(); |
- directory.deleteSync(recursive: true); |
- asyncEnd(); |
- }); |
+ () => raf.lock(FileLock.EXCLUSIVE, 2, 15), |
+ () => checkNotLocked(file.path, 0, 2), |
+ () => checkLocked(file.path, 0, 3), |
+ () => checkLocked(file.path, 9), |
+ () => checkLocked(file.path, 14), |
+ () => raf.writeFromSync(new List.filled(10, 0)), |
+ () => checkLocked(file.path, 10), |
+ () => checkNotLocked(file.path, 15), |
+ () => raf.unlock(2, 15), |
+ () => checkNotLocked(file.path) |
+ ], (f) => f()).whenComplete(() { |
+ raf.closeSync(); |
+ directory.deleteSync(recursive: true); |
+ asyncEnd(); |
+ }); |
} |
void main() { |