blob: f2beba82ce931eeb63d6f3f113b9736f3c9fa7ce [file] [log] [blame]
// 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();
}
}