regis@google.com
b86a40f48f
Fix type checking of void type.
...
Fix library and tests accordingly.
Add new test.
Disable new test for dart2js.
Disable some now failing co19 tests (new issue 158 filed).
Hide internal VM String types from user (not complete).
Review URL: https://chromiumcodereview.appspot.com//10787021
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9681 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-16 21:34:07 +00:00
regis@google.com
dc96874999
Revert fix for type checking of void type, because some top level tests fail.
...
Review URL: https://chromiumcodereview.appspot.com//10784020
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9673 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-16 19:05:38 +00:00
regis@google.com
a8ceb243f6
Fix type checking of void type.
...
Fix library and tests accordingly.
Add new test.
Disable new test for dart2js.
Disable some now failing co19 tests (new issue 158 filed).
Hide internal VM String types from user (not complete).
Review URL: https://chromiumcodereview.appspot.com//10704216
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9672 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-16 18:05:55 +00:00
whesse@google.com
015c40188c
Add .fromPath constructors to File and Directory.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//10639004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9024 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-22 10:36:20 +00:00
ager@google.com
379695ee2b
Implement File.lastModified.
...
R=sgjesse@google.com ,ajohnsen@google.com
BUG=dartbug/2988
TEST=standalone/io/file*
Review URL: https://chromiumcodereview.appspot.com//10443008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7945 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-24 13:10:02 +00:00
ager@google.com
6b503da4f9
Fuzzing of dart:io Directory API.
...
Uncovered one issue where an usupported value was posted back
through a native port on a failed directory listing operation.
R=sgjesse@google.com
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//10408060
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7894 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-23 08:22:09 +00:00
ager@google.com
0d58bde8be
Add support for directory renaming to dart:io.
...
R=sgjesse@google.com
BUG=dartbug:3104
TEST=standalone/io/directory*
Review URL: https://chromiumcodereview.appspot.com//10414046
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7848 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-22 12:46:25 +00:00
ager@google.com
5fb75d3952
Change dart:io to use Future for one-shot operations.
...
This appears to be what a lot of our users are doing and it is the
style used in our other libraries.
Noteworthy changes:
- File and Directory objects are now immutable.
- Directory.list returns an active lister object.
- Write operations on files return futures and the
onNoPendingWrites handler is gone. The same
functionality is there by using 'then' on the
future returned from the last write operation.
- Process starting is now done with static methods:
-- Process.start yields an InteractiveProcess.
-- Process.run yields a Future<ProcessResult>
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//10392023
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7529 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-11 06:09:42 +00:00
sgjesse@google.com
33565cd64a
Change the error handling in dart:io
...
1. Change the argument on all onError handlers from Exception to
Dynamic
2. Throw an exception if an error ocours and there is no error handler
present for handling it.
For sockets there is the complication that an error on a socket is
reported to the socket error handler, and each of the stream error
handlers. The solution to this is to throw an exception if there was
no error handler on either the socket or one of the streams.
Fixed a number of bugs in tests revealed by errors no longer being
silently ignored.
R=ager@google.com
BUG=none
TEST=tests/standalone/src/io/*
Review URL: https://chromiumcodereview.appspot.com//10173024
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6994 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-26 08:12:17 +00:00
sgjesse@google.com
471f1c772c
Add error handling to directory
...
The directory object now has error handling like the rest of the
dart:io. The added tests to some extend overlaps with some of the
tests in DirectpryTest.dart, but I found it better to have error tests
in a single place.
I removed a few type checks sitting in the C++ code for the native
functions as for file we currently don't have them. I have opened
issue 2305 regarding where to do type checks for dart:io native
functions.
R=ager@google.com
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//9773018
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5866 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-27 08:50:35 +00:00
iposva@google.com
5ee85db5f4
Reapply part of r5325.
...
- Fix use of String operator + in IO libraries.
Previously reviewed as part of https://chromiumcodereview.appspot.com/9690003
Review URL: https://chromiumcodereview.appspot.com//9725001
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5597 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-16 22:19:23 +00:00
sgjesse@google.com
84836f8c56
Error reporting on File in dart:io
...
This implements consistent error reporting on all methods on File in dart:io. The async onError method is called with an exception argument which is the same exception as would have been thrown from the corresponding sync method.
The one method on Directory which already did this has been updated as well.
R=ager@google.com
BUG=none
TEST=tests/standalone/src/io/FileTest.dart, tests/standalone/src/io/FileInvalidArgumentsTest.dart
Review URL: https://chromiumcodereview.appspot.com//9630012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5396 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-13 13:00:47 +00:00
sigmund@google.com
2b5952ac6c
SendPort + ReceivePort changes:
...
- document what are valid messages in SendPort.send
- change SendPort.call to return a future of the reply
- remove ReceivePort.singleShot
Review URL: https://chromiumcodereview.appspot.com//9652001
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5368 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-12 22:52:36 +00:00
iposva@google.com
993cd03e41
- Fix build by rolling back r5324, r5325.
...
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5333 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-12 16:31:12 +00:00
iposva@google.com
8ca5ba4d15
- Fix use of String operator + in corelib and standalone libraries.
...
Review URL: https://chromiumcodereview.appspot.com//9690003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5325 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-12 15:26:55 +00:00
sgjesse@google.com
f0f34bf277
Add the ability to get the current directory
...
Added constructor current to directory. Use like this:
var cwd = Directory.current()
R=ager@google.com
BUG=dart:1793
TEST=tests/standalone/src/io/DirectoryTest.dart
Review URL: https://chromiumcodereview.appspot.com//9622001
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5087 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-07 13:23:08 +00:00
sgjesse@google.com
b52a27889d
Use a pool of native ports for directory operations
...
Each directory object creates a new service port which will start a
new thread. As these service ports are currently never closed this is
a huge problem causing the standalone VM to fail when running out of
threads.
This change uses a pool of native ports for directory operations. This
still ensures that the operations for each directory object are
serialized and limits the number of native ports allocated and thus
threads started.
Even when closing of native ports is possible we might want to keep
some kind of pool like this. The reason for this is that to actually
determine when the native port is not needed any more we need a
finalizer callback on the directory object.
R=ager@google.com
BUG=none
TEST=tests/standalone/src/ManyDirectoryOperationsTest.dart
Review URL: https://chromiumcodereview.appspot.com//9568010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4795 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-01 14:29:12 +00:00
ager@google.com
242bba108b
Reapply dart:io API changes.
...
R=sgjesse@google.com
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//9568004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4790 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-01 10:07:35 +00:00
ager@google.com
fd31551ca4
Revert "Rename blahHandler to onBlah throughout dart:io."
...
D'oh! I need to update the test binaries as well. Reverting, building
and putting back in again.
R=sgjesse@google.com
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//9570004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4785 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-01 09:43:15 +00:00
ager@google.com
40e0bceab5
Rename blahHandler to onBlah throughout dart:io.
...
Additionally, change all single-shot methods to take their callback as an argument instead of registering it on the object.
I have attempted to find all uses in the repo but there might
be some firefighting to do when this lands.
R=sgjesse@google.com
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//9500002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4784 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-01 09:36:04 +00:00
sgjesse@google.com
9390f1577a
Run all directory async operations on a separate thread using native ports
...
R=ager@google.com
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//9310082
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4390 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-21 11:35:42 +00:00
ager@google.com
641cf84f6a
Implement recursive directory deletion.
...
Additionally, make sure that the handler can be registered after
the operation in file and directory implementation:
dir.delete();
dir.deleteHandler = () => print('hest');
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//9316066
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3892 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-03 12:37:30 +00:00
ager@google.com
e6994683ad
Another round of minor fixes in the IO libraries.
...
R=sgjesse@google.com
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//9129020
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3546 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-24 13:33:23 +00:00
ager@google.com
1a9631d322
Fix type typo. :-)
...
R=sgjesse@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8956022
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2618 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-20 09:38:20 +00:00
ager@google.com
46ba817562
Add asynchronous versions of the methods on Directory.
...
For now, use an isolate to make the operations async from the
point of view of the main Dart thread.
Clean up the directory tests a bit by removing code that didn't do anything and by removing file testing that is already covered by the file tests.
R=sgjesse@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8965036
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2617 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-20 09:28:28 +00:00
sgjesse@google.com
9f92d783ef
Change temp dir generation on Windows to use UUIDs instead of random numbers
...
This avoids having to generate random numbers for all platforms as
only Windows was using them. Also when the andom number generator is
deterministic the Windows implementation using random numbers could
end up running out of temporary files.
R=whesse@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8879058
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2417 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-14 07:25:09 +00:00
sgjesse@google.com
f2bda92a66
Add support for getting OS error information for creating temporary directories
...
R=whesse@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8934004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2385 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-13 14:22:50 +00:00
ager@google.com
456d63c6ab
Add support for client/dartc compilation only tests.
...
These tests do not fit in that nicely. They have an interesting
way of finding out what are test cases. They use the .dart
suffix in the status file.
Implement directory createTempSync.
R=whesse@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8799009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2067 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-05 13:34:12 +00:00
whesse@google.com
f40da67d2b
Add Directory.createTemp() to asynchronously create a temporary directory.
...
BUG=
TEST=
Review URL: http://codereview.chromium.org//8588029
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1741 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-22 13:06:39 +00:00
ager@google.com
87c2d27fcf
Reapply directory error handling change.
...
Refactor code to have Platform::StrError(int error_code) on all
platforms. Use that to get better error messages on Windows as well.
BUG=
TEST=
Review URL: http://codereview.chromium.org//8511001
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1344 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-09 11:22:33 +00:00
ager@google.com
fa2c0eca2e
Revert "Post on the error handler in the Directory API when errors are encountered."
...
Breaks the mac build because of differences in strerror_r behavior.
R=sgjesse@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8509002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1339 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-09 08:33:43 +00:00
ager@google.com
99831629bf
Post on the error handler in the Directory API when errors are encountered.
...
Terminate the listing operation at that point.
R=sgjesse@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8499018
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1338 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-09 08:08:50 +00:00
ager@google.com
362d04f9af
Consistently use setters to set event handlers in native APIs.
...
R=sgjesse@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8386029
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1083 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-02 12:12:43 +00:00
ager@google.com
5b5c36e253
Implement async file API on top of isolates.
...
This is not going to be efficient but will give us the right
semantics of the operations. We should be using native async
operations for this.
Fixed a bug in VM implementation of List.setRange.
R=sgjesse@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8431028
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1012 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-01 14:07:30 +00:00
ager@google.com
83539ca419
Add type checks to directory listing.
...
R=sgjesse@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8417023
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@940 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-31 09:37:07 +00:00
ager@google.com
17f168a2f1
Fix type annotation error in directory implementation.
...
TBR=sgjesse@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8273038
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@434 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-14 12:57:42 +00:00
ager@google.com
953d2599c1
Add exists, create and delete to directory implementation on Linux and Mac.
...
All of the directory implementations on Linux and Mac are identical
and uncontroversial. Join the implementations in directory_posix for
now. I will split it into the two files again if it becomes necessary.
BUG=
TEST=
Review URL: http://codereview.chromium.org//8277033
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@432 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-14 12:42:44 +00:00
ager@google.com
59135cc57b
Clean up directory listing interface.
...
Remove open and close. A directory instance just holds a string
representing the path to the directory.
R=sgjesse@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8244001
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@362 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-12 10:39:30 +00:00
ager@google.com
536a9f0500
Fix type mismatch in directory listing.
...
R=sgjesse@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8227014
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@328 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-11 13:19:19 +00:00
ager@google.com
cf136a7685
Use isolates for directory listing.
...
Use isolates to make directory listing asynchroneous from the point
of view of the main Dart isolate. Each listing operation will spawn
a new heavy isolate to perform the actually directory listing using
the synchroneous OS primitives.
R=sgjesse@google.com ,iposva@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8232005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@327 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-11 13:12:14 +00:00
ager@google.com
023fa46e48
Finish non-recursive synchronous directory listing on Linux and Mac.
...
Next steps: Testing, Windows support and using isolates to make
listing async.
We should probably change the API to not tie a Directory object
to a given OS directory structure. When spawning an isolate to
perform a listing operation, that will open the directory,
list its contents and close the directory. That way we can
do multiple listing operations with the same Directory object
without having interference.
R=sgjesse@google.com ,iposva@google.com
BUG=
TEST=
Review URL: https://chromereviews.googleplex.com/3511020
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-05 14:33:49 +00:00
dgrove@google.com
4c0f559d23
Initial checkin.
...
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-05 05:20:07 +00:00