Files
sdk/tests/standalone_2/io/file_lock_script.dart
T
Martin Kustermann a99904a45a [vm/nnbd] Explicitly opt-out test helper scripts from null safety to prepare for NNBD turned on
Closes https://github.com/dart-lang/sdk/issues/43947

Change-Id: I5c7abdd25e15f4ddaef11b45af294e7345d7cf99
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/169321
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Tess Strickland <sstrickl@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
2020-10-28 11:00:57 +00:00

39 lines
1.1 KiB
Dart

// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
// Normally the CFE recognizes files in ..._2 directories and automatically
// opts those libraries out of NNBD. Though this file will be copied to the
// build directory, which will cause the CFE no longer to automatically opt it
// out of NNBD, so we do that explicitly here.
// @dart=2.9
// Script used by the file_lock_test.dart test.
import "dart:io";
main(List<String> args) {
File file = new File(args[0]);
int start = null;
int end = null;
var mode = FileLock.exclusive;
if (args[1] == 'SHARED') {
mode = FileLock.shared;
}
if (args[2] != 'null') {
start = int.parse(args[2]);
}
if (args[3] != 'null') {
end = int.parse(args[3]);
}
var raf = file.openSync(mode: FileMode.write);
try {
raf.lockSync(mode, start, end);
print('LOCK SUCCEEDED');
} catch (e) {
print('LOCK FAILED');
} finally {
raf.closeSync();
}
}