OLD | NEW |
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 import 'dart:convert'; | 5 import 'dart:convert'; |
6 import 'dart:io'; | 6 import 'dart:io'; |
7 import 'dart:math' as math; | 7 import 'dart:math' as math; |
8 | 8 |
9 import 'package:path/path.dart' as p; | 9 import 'package:path/path.dart' as p; |
10 import 'package:scheduled_test/scheduled_test.dart'; | 10 import 'package:scheduled_test/scheduled_test.dart'; |
11 import 'package:scheduled_test/scheduled_server.dart'; | 11 import 'package:scheduled_test/scheduled_server.dart'; |
12 import 'package:shelf/shelf.dart' as shelf; | 12 import 'package:shelf/shelf.dart' as shelf; |
13 | 13 |
14 import '../../lib/src/exit_codes.dart' as exit_codes; | 14 import '../../lib/src/exit_codes.dart' as exit_codes; |
15 import '../descriptor.dart' as d; | 15 import '../descriptor.dart' as d; |
16 import '../test_pub.dart'; | 16 import '../test_pub.dart'; |
17 import 'utils.dart'; | 17 import 'utils.dart'; |
18 | 18 |
19 /// The maximum number of bytes in an entire path. | 19 /// The maximum number of bytes in an entire path. |
20 /// | 20 /// |
21 /// This is [Windows's number][MAX_PATH], which is a much tighter constraint | 21 /// This is [Windows's number][MAX_PATH], which is a much tighter constraint |
22 /// than OS X or Linux. We use it everywhere for consistency. | 22 /// than OS X or Linux. We subtract one because Windows counts it as the number |
| 23 /// of bytes in a path C string including the terminating NUL but we only count |
| 24 /// characters here. |
| 25 /// |
| 26 /// We use this limit on all platforms for consistency. |
23 /// | 27 /// |
24 /// [MAX_PATH]: https://msdn.microsoft.com/en-us/library/windows/desktop/aa38313
0(v=vs.85).aspx | 28 /// [MAX_PATH]: https://msdn.microsoft.com/en-us/library/windows/desktop/aa38313
0(v=vs.85).aspx |
25 const _pathMax = 260; | 29 const _pathMax = 260 - 1; |
26 | 30 |
27 main() { | 31 main() { |
28 initConfig(); | 32 initConfig(); |
29 | 33 |
30 integration('archives and uploads a package with more files than can fit on ' | 34 integration('archives and uploads a package with more files than can fit on ' |
31 'the command line', () { | 35 'the command line', () { |
32 d.validPackage.create(); | 36 d.validPackage.create(); |
33 | 37 |
34 var argMax; | 38 var argMax; |
35 if (Platform.isWindows) { | 39 if (Platform.isWindows) { |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
85 return new shelf.Response.ok(JSON.encode({ | 89 return new shelf.Response.ok(JSON.encode({ |
86 'success': {'message': 'Package test_pkg 1.0.0 uploaded!'} | 90 'success': {'message': 'Package test_pkg 1.0.0 uploaded!'} |
87 })); | 91 })); |
88 }); | 92 }); |
89 | 93 |
90 pub.stdout.expect(startsWith('Uploading...')); | 94 pub.stdout.expect(startsWith('Uploading...')); |
91 pub.stdout.expect('Package test_pkg 1.0.0 uploaded!'); | 95 pub.stdout.expect('Package test_pkg 1.0.0 uploaded!'); |
92 pub.shouldExit(exit_codes.SUCCESS); | 96 pub.shouldExit(exit_codes.SUCCESS); |
93 }); | 97 }); |
94 } | 98 } |
OLD | NEW |