Martin Kustermann
3f0ea0f50e
VM: Fix asan memory leak in some standalone tests
...
Fixes #28350
R=vegorov@google.com
Review-Url: https://codereview.chromium.org/2653583002 .
2017-01-23 19:45:28 +01:00
Zachary Anderson
479a97b129
clang-format runtime/bin
...
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org/2480793002 .
2016-11-04 12:30:56 -07:00
John McCutchan
b6e17330ed
Fix DevFS on Android devices
...
- [x] Allow a system temporary directory to be set on Android.
- [x] This is set on Flutter's engine startup path which fixes DevFS on Android devices.
Related to https://github.com/dart-lang/sdk/issues/4413
BUG=
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/2156243002 .
2016-07-18 10:45:53 -07:00
Florian Loitsch
e3c3f099ea
Fix strong mode errors in dart:io.
...
Still a lot of strong mode warnings left.
R=fschneider@google.com , sgjesse@google.com
Committed: https://github.com/dart-lang/sdk/commit/5216f1d67d09d289f7c7ceab56a64ce0dcb7d563
Reverted: https://github.com/dart-lang/sdk/commit/7503ecc8fdb32747b2b05b529219ce83da8f0b6c
Review URL: https://codereview.chromium.org/1904553006 .
2016-05-12 13:17:31 +02:00
Florian Loitsch
7503ecc8fd
Revert "Fix strong mode errors in dart:io."
...
This reverts commit 5216f1d67d .
BUG=
Review URL: https://codereview.chromium.org/1966373002 .
2016-05-11 21:44:09 +02:00
Florian Loitsch
5216f1d67d
Fix strong mode errors in dart:io.
...
Still a lot of strong mode warnings left.
R=fschneider@google.com , sgjesse@google.com
Review URL: https://codereview.chromium.org/1904553006 .
2016-05-11 14:30:32 +02:00
Zachary Anderson
ccfd19bfd7
Fixes memory leak of async directory lister
...
R=iposva@google.com
Review URL: https://codereview.chromium.org/1893033002 .
2016-04-21 07:57:02 -07:00
Zachary Anderson
7308e58c3f
Really remove io support when dart:io is unsupported.
...
Previously we would compile in implementaitions of native calls for
IO functions that would never be used. This CL provides implementations
that throw a Dart exception if they're called by mistake. It also uses
a DART_IO_DISABLED preprocessor define to clean up the build files and
check that we're not including code we shouldn't.
R=iposva@google.com , johnmccutchan@google.com
Review URL: https://codereview.chromium.org/1839463002 .
2016-03-29 11:22:03 -07:00
Zachary Anderson
45661a7091
Cleanup in //runtime/bin
...
R=iposva@google.com
Review URL: https://codereview.chromium.org/1800863002 .
2016-03-16 10:01:00 -07:00
Zachary Anderson
c75a817ee0
Fixes some memory leaks in //runtime/bin
...
Also some style cleanups.
Decided to fix these leaks by using Dart_ScopeAllocate
instead of malloc and new. Leaks are noted in the CL.
I haven't finished looking over all the code in
//runtime/bin yet, but this CL was getting big.
Review URL: https://codereview.chromium.org/1781883002 .
2016-03-14 11:08:52 -07:00
Todd Turnidge
4e3643f445
Prefer Dart_SetReturnValue over Dart_PropagateError when it makes sense.
...
BUG=
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org/1665993002 .
2016-02-03 15:41:54 -08:00
asiva@google.com
ec55c135c5
Fix check for return of error before calling SyncDirectoryListing.
...
R=iposva@google.com
Review URL: https://codereview.chromium.org//1096803002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45292 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-20 17:23:10 +00:00
iposva@google.com
14ecdbd66a
- Separate the thread implementation used in bin/ and vm/
...
to allow us to make VM specific changes.
R=asiva@google.com
Review URL: https://codereview.chromium.org//463993002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39172 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-12 23:19:53 +00:00
ajohnsen@google.com
c3a9f33ef8
Fix directory-listing to return a future on cancel.
...
This also fixes an issue where we would leake FDs/HANDLEs if the listing was interrupted.
Add new pause-resume-cancel test of directory listing.
BUG=https://code.google.com/p/dart/issues/detail?id=10163
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//45833003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29454 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-29 15:04:59 +00:00
ajohnsen@google.com
103eac574c
Remove FileException, DirectoryException and LinkException from dart:io and use FileSystemException instaed.
...
BUG=https://code.google.com/p/dart/issues/detail?id=12461
R=nweiz@google.com , sgjesse@google.com
Review URL: https://codereview.chromium.org//26968003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29168 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-24 12:17:20 +00:00
whesse@google.com
3c0c99a3b9
Add Directory.systemTemp getter to replace createSystemTemp().
...
BUG=dartbug.com/12496
R=rnystrom@google.com , sgjesse@google.com
Review URL: https://codereview.chromium.org//25720002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28215 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-03 12:55:30 +00:00
whesse@google.com
b221c702a3
dart:io | Add Directory.CreateSystemTemp(template) and change Directory.CreateTemp(template).
...
BUG=dartbug.com/12496
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//25279003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28097 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-01 15:38:01 +00:00
ajohnsen@google.com
a347038cd7
Merge services into a shared IOService in dart:io, and use a native port.
...
BUG=
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//24395013
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27883 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-25 15:03:24 +00:00
whesse@google.com
27600274c8
Fix error handling when current working directory is deleted.
...
BUG=
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//23702037
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27433 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-12 14:30:23 +00:00
asiva@google.com
b4d9e0d620
Auto create ApiLocalScope before calling native functions, this ensures that
...
native functions do not have to call Dart_EnterScope/Dart_ExitScope
when they callback into the VM.
Remove Dart_EnterScope/Dart_ExitScope calls around native functions in 'bin'
directory.
R=regis@google.com , srdjan@google.com
Review URL: https://codereview.chromium.org//22303002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25827 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-06 19:27:48 +00:00
asiva@google.com
45445820da
Replace uses of Dart_GetClass with Dart_GetType and Dart_InstanceGetClass with Dart_InstanceGetType (The idea is to deprecate Dart_GetClass and Dart_InstanceGetClass from the API)
...
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//17261011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24244 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-20 18:11:47 +00:00
ajohnsen@google.com
1f449fd355
Report async errors when they happend, in directory listing.
...
This ensure that we capture the correct OS error.
Also fix compiler issue for mac and dart2js.
BUG=
Review URL: https://codereview.chromium.org//17158003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24076 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-17 08:16:42 +00:00
ajohnsen@google.com
1b83d3b52e
Make Directory.list pull-based, making it possible to pause, resume and cancel directory listing.
...
BUG=https://code.google.com/p/dart/issues/detail?id=10163 ,
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//16813006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24074 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-17 07:27:19 +00:00
ajohnsen@google.com
5ce3b9ddea
Clean up dart:io exceptions.
...
- Introduce IOException.
- Remove HttpParserException.
- Merge RedirectLimitExceededException and RedirectLoopException into
RedirectException.
- Remove 'IO' from FileIOException, DirectoryIOException, LinkIOException
and SocketIOException.
BUG=https://code.google.com/p/dart/issues/detail?id=9955
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//16123036
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23848 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-11 13:15:46 +00:00
iposva@google.com
1836035266
- Modify dart_api.h to be a proper C API.
...
- Verify that dart_api.h can be used from C
by changing the test_extension to be a pure C file.
R=asiva@google.com
Review URL: https://codereview.chromium.org//15689013
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23476 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-31 16:36:27 +00:00
sgjesse@google.com
2ef54d314a
Add the ability to change the working directory
...
Directory.current have been changed from a factory constructor to a
getter and setter. The getter returns a Direcotry object holding the
current working directory. The setter changes the current working
directory of the Dart process.
R=whesse@google.com
BUG=https://code.google.com/p/dart/issues/detail?id=6316 , https://code.google.com/p/dart/issues/detail?id=8893
Review URL: https://codereview.chromium.org//13896034
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22116 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-29 12:43:53 +00:00
smok@google.com
ebbc2020a2
Put everything in runtime/bin into '::dart::bin' namespace.
...
Review URL: https://codereview.chromium.org//14341015
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22032 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-25 14:22:30 +00:00
whesse@google.com
d2ea504b60
dart:io | Add "followLinks" optional parameter to Directory.list, let it return Link objects when false.
...
BUG=dartbug.com/7720
Review URL: https://codereview.chromium.org//12638039
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20370 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-22 09:56:14 +00:00
sgjesse@google.com
488b016a2f
Merge IO v2 branch to bleeding edge
...
R=ager@google.com , ajohnsen@google.com , whesse@google.com
BUG=
Review URL: https://codereview.chromium.org//12316036
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18820 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-21 11:58:11 +00:00
whesse@google.com
7f60b90a48
Add synchronous directory listing to dart:io Directory.
...
BUG=dart:4730
Review URL: https://codereview.chromium.org//11748017
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16636 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-04 13:51:15 +00:00
asiva@google.com
ebbb7c4134
- Represent strings internally in UTF-16 format, this makes it
...
compatible with webkit and will allow for easy externalization of
strings. One byte strings are retained for pure ASCII strings.
(The language specification was changed recently to reflect this as
follows "A string is a sequence of UTF-16 code units").
- Remove four byte string class and all references to it.
- Rename some of the string functions in Dart API to make them
consistent and better describe the underlying functionality
Dart_NewString => Dart_NewStringFromCString
Dart_NewString8 => Dart_NewStringFromUTF8
Dart_NewString16 => Dart_NewStringFromUTF16
Dart_NewString32 => Dart_NewStringFromUTF32
Dart_NewExternalString8 => Dart_NewExternalUTF8String
Dart_NewExternalString16 => Dart_NewExternalUTF16String
Dart_NewExternalString32 => Dart_NewExternalUTF32String
Dart_StringGet8 => Dart_StringToUTF8
Dart_StringGet16 => Dart_StringToUTF16
Dart_StringToCString => Dart_StringToCString
Dart_IsString8 => Removed
Dart_IsString16 -> Removed
Dart_StringToBytes -> Removed
Dart_StringGet32 -> Removed
Review URL: https://codereview.chromium.org//11318018
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14357 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-31 17:56:46 +00:00
ager@google.com
d2d65ee3b5
Fix for Directory.exists on Windows using GetFileAttributes
...
based on patch from Alexander Aprelev.
Discriminate different reasons for not being able to get
the file attributes. Currently this makes no difference since
both DOES_NOT_EXIST and UNKNOWN turn into a false return value
from Directory.existsSync().
R=sgjesse@google.com
BUG=3914
Review URL: https://chromiumcodereview.appspot.com//10916206
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12106 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-10 10:38:46 +00:00
nweiz@google.com
637f6fe616
Fix the definition of kIllegalPort in dart_api.h.
...
Declaring a variable directly in a header will cause C to be unable to link
multiple object files that both include that header, even if that variable is
const.
Review URL: https://chromiumcodereview.appspot.com//10834017
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10135 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-01 18:47:33 +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
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
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
turnidge@google.com
c143d26700
Start using Dart_SetField and Dart_GetField in the vm.
...
Review URL: https://chromiumcodereview.appspot.com//9642003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5185 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-08 18:36:56 +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
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
sgjesse@google.com
bf67f24098
Move assert.h/assert.cc from runtime/vm to runtime/platform
...
The purpose of this change is twofold:
1. Source in the bin directory can now use the same assertions as
source in the vm directory. The ASSERT macro used by the code
in runtime/bin was just defined to use assert from the standard
C library.
2. Moving other implementation parts from runtime/vm to
runtime/platform (e.g. classes Monitor and Mutex) for sharing
between runtime/bin and runtime/vm will be easier as these
implementations rely on these assertion macros.
Created two gypi files for the platform directory. One for the
headers and one for the source. The source one is only included
when building the VM library and will be present in libdart.a
when the dart executable is linked.
All the code for asserts is still in the dart namespace.
Also re-arranged the order of includes to be alphabetically in
the files touched.
R=ager@google.com , iposva@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//9189003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3335 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-16 12:28:10 +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
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
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