| // Copyright (c) 2014, 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. |
| |
| // @dart = 2.9 |
| |
| import 'dart:io'; |
| |
| import 'package:path/path.dart' as path; |
| |
| void testList() { |
| final startingDir = |
| Directory(path.normalize(path.join(Platform.executable, '../../../'))); |
| print("Recursively listing entries in directory ${startingDir.path} ..."); |
| List<FileSystemEntity> each = |
| startingDir.listSync(recursive: true, followLinks: false); |
| print("Found: ${each.length} entities"); |
| } |
| |
| // The test is disabled by default, because it requires permission to run. |
| // e.g. sudo dart directory_list_sync_test.dart |
| void testAnonymousNodeOnLinux() { |
| // If a symbolic link points to an anon_inode, which doesn't have a regular |
| // file type like an epoll file descriptor, list() will return a link. |
| if (!Platform.isLinux) { |
| return; |
| } |
| Directory('/proc/').listSync(recursive: true); |
| } |
| |
| void main() { |
| testList(); |
| //testAnonymousNodeOnLinux(); |
| } |