| // 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(); |
| } |
| } |