Commit Graph

4090 Commits

Author SHA1 Message Date
scheglov@google.com 4392cc42a0 Support for excluded files/folders.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org//456893002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39046 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-08 19:42:07 +00:00
paulberry@google.com 1a773207c5 Integration test search.getTypeHierarchy and make some minor fixes.
R=brianwilkerson@google.com, scheglov@google.com

Review URL: https://codereview.chromium.org//456613004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39045 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-08 19:39:50 +00:00
scheglov@google.com 575e80711f Fixes for adding/removing pubspecs to/from roots.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org//455863003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39043 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-08 17:19:46 +00:00
scheglov@google.com d18d41fb37 Fixes for review comments.
Was in https://codereview.chromium.org/450103002/

R=paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org//454063002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39040 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-08 16:36:34 +00:00
scheglov@google.com eda90c0529 Support for pubspec based contexts in subfolders.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org//450103002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39036 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-08 15:55:06 +00:00
paulberry@google.com 320cbbf865 Rework "analysis.updateContent" analysis server request.
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//449213002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39034 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-08 13:15:26 +00:00
paulberry@google.com acd92bad63 Code generate integration test methods for synchronous request/response pairs.
These methods take care of validating requests and responses (unless
the optional argument 'checkTypes' is false); this should make writing
integration tests easier and less error-prone.

R=jwren@google.com

Review URL: https://codereview.chromium.org//451483005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39007 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-07 20:13:53 +00:00
scheglov@google.com 25dd28dbf2 Churn-only CL for ContextDirectoryManager.
1. Sort and format implementation.

2. Convert tests into reflective.

3. Write comments for tests.

R=paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org//450643005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39000 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-07 18:04:21 +00:00
scheglov@google.com 63b0d11e1b Fixes for the 'pub' bot and 'analysis_server' on Windows.
TBR

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//444293002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38962 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-07 02:01:58 +00:00
scheglov@google.com 8b247578f1 Add Folder.contains(path) and use it in ContextDirectoryManager.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//444193002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38958 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-06 22:25:04 +00:00
scheglov@google.com 0f041852a6 Fix for opening SDK sources.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//449583003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38955 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-06 22:13:28 +00:00
paulberry@google.com b855a781d6 Remove RefactoringId from the analysis server API.
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//446113002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38954 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-06 21:07:59 +00:00
scheglov@google.com c5263aae9f Breaking changes in 'analyzer' package.
1. Source.uri added.

2. DartSdk.fromEncoding() replaced with fromFileUri().

  This CL cannot be committed as is until pkg/code_transformers is fixed.

R=brianwilkerson@google.com, sigmund@google.com
BUG=

Review URL: https://codereview.chromium.org//428303004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38949 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-06 20:41:42 +00:00
scheglov@google.com 95cc1e5b14 Send 'analysis.errors' notification only for files in analysis roots.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//443213002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38944 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-06 19:58:00 +00:00
danrubel@google.com a5c9375c30 incremental improvement to top level code completion results
BUG=
R=paulberry@google.com

Review URL: https://codereview.chromium.org//440343003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38942 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-06 19:14:55 +00:00
paulberry@google.com 5353760386 Change the type of Error.code from int to String.
R=scheglov@google.com

Review URL: https://codereview.chromium.org//446983002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38940 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-06 18:44:13 +00:00
paulberry@google.com 0f559b00b0 Add analysis server API specification and related tools.
The source for the API specification is in
pkg/analysis_server/spec/spec_input.html.  This file uses custom HTML
elements to declare the machine-readable parts of the specification.

The script pkg/analysis_server/spec/generate_files processes that file
and creates two output files:

- pkg/analysis_server/spec/api.html, the human-readable analysis
  server spec.

- pkg/analysis_server/test/integration/protocol_matchers.dart, which
  is used by integration tests to check the data returned by the
  analysis server.

R=brianwilkerson@google.com, jwren@google.com, scheglov@google.com

Review URL: https://codereview.chromium.org//443873006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38937 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-06 18:34:21 +00:00
danrubel@google.com 6224c56dbb remove unused imports
BUG=
R=paulberry@google.com

Review URL: https://codereview.chromium.org//444013003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38933 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-06 15:49:18 +00:00
jwren@google.com 353546ff4a Use checked mode in server integration tests
R=paulberry@google.com

Review URL: https://codereview.chromium.org//445703003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38912 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-05 22:23:48 +00:00
scheglov@google.com 41c4564935 Make Change implementation consistent with the server spec.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//447613002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38908 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-05 21:39:05 +00:00
jwren@google.com 5503d8d727 Change description in analysis_server pubspec to no longer reference web sockets
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//441063002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38903 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-05 20:47:01 +00:00
paulberry@google.com ec6f1dfb64 Simplify handling of pathnames in integration tests.
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//437383003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38890 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-05 03:30:06 +00:00
scheglov@google.com e1697e7488 Remove 'analysis.updateSdks' from server.
R=jwren@google.com, brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//436423002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38887 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-04 23:42:55 +00:00
scheglov@google.com ab7701a740 Update 'search.getTypeHierarchy' to the latest spec.
R=brianwilkerson@google.com, jwren@google.com
BUG=

Review URL: https://codereview.chromium.org//421123005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38885 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-04 23:27:25 +00:00
scheglov@google.com cef6c26a95 Update 'analysis.override' notification to the latest spec.
R=brianwilkerson@google.com, jwren@google.com
BUG=

Review URL: https://codereview.chromium.org//440743002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38882 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-04 21:21:22 +00:00
danrubel@google.com ec0633a5ec incremental progress reworking code completion manager / computers
BUG=
R=scheglov@google.com

Review URL: https://codereview.chromium.org//436263002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38871 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-04 17:37:06 +00:00
paulberry@google.com 7e36498dd4 Add more matchers for use in analysis server integration testing.
R=jwren@google.com

Review URL: https://codereview.chromium.org//439313003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38868 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-04 17:15:09 +00:00
danrubel@google.com 9714894e8e incremental progress aligning code completion api to spec
BUG=
R=scheglov@google.com

Review URL: https://codereview.chromium.org//424543004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38835 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-01 16:23:43 +00:00
scheglov@google.com f974128b01 Ignore 'dynamic' and 'void' elements in the occurrences computer too.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//438753002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38809 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-31 23:48:30 +00:00
scheglov@google.com e9719d8fcd Ignore 'dynamic' in the navigation computer.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//433973003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38797 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-31 20:54:20 +00:00
paulberry@google.com 44f58316a1 Wait for "server.connected" notification before beginning integration tests.
R=brianwilkerson@google.com, scheglov@google.com

Review URL: https://codereview.chromium.org//429383002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38795 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-31 20:28:43 +00:00
danrubel@google.com 4c868034b5 refactor code completion to allow for multiple suggestion computers
BUG=
R=scheglov@google.com

Review URL: https://codereview.chromium.org//428313002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38787 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-31 16:11:14 +00:00
scheglov@google.com c8ae5e3b57 Make any exception in the operations loop fatal.
Note, that with the latest analyzer snapshot the NPE we saw does not leak anymore,
so this code does not work. But the result is not much better - context continues
analyzing the same file again and again.

R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org//434533002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38785 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-31 15:57:18 +00:00
paulberry@google.com e2ac6f3b52 Get rid of unnecessary calls to toDouble().
R=scheglov@google.com

Review URL: https://codereview.chromium.org//431713002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38749 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-30 20:16:19 +00:00
paulberry@google.com c243ffe3a2 Better implementation of shutdown timeout.
In addition to being easier to read, Future.timeout() has the
advantage that if the future completes before the timeout, there isn't
a pending asynchronous event unnecessarily keeping the process alive.

R=scheglov@google.com

Review URL: https://codereview.chromium.org//425803009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38748 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-30 20:15:01 +00:00
paulberry@google.com 99b36c3748 Increase shutdown timeout to work around slow analysis server startup time.
TBR=scheglov@google.com

Review URL: https://codereview.chromium.org//430013002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38746 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-30 19:12:54 +00:00
paulberry@google.com dc95ca2d0e Add timestamps to integration test output.
This should aid in debugging buildbot failures.

TBR=scheglov@google.com

Review URL: https://codereview.chromium.org//430803003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38743 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-30 18:20:32 +00:00
paulberry@google.com b1bb36946f Integration tests for analysis.updateContent.
R=scheglov@google.com

Review URL: https://codereview.chromium.org//423393005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38741 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-30 17:55:27 +00:00
paulberry@google.com 6c74d75f6d Make "server.shutdown" exit the analysis server.
Also update integration tests so that they use "server.shutdown" to
terminate each test.  This ensures that repeatedly running integration
tests does not cause an accumulation of analysis server temporary
files.

R=scheglov@google.com

Review URL: https://codereview.chromium.org//426243005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38739 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-30 17:38:40 +00:00
paulberry@google.com 6856764b79 Allow analysis server integration tests to run without package root.
Since the analysis server will periodically be released via pub, some
users may try running integration tests using the a local "packages"
directory rather than specifying a package root.  When this happens,
avoid sending an empty "--package-root=" option to the VM.

R=danrubel@google.com

Review URL: https://codereview.chromium.org//431593002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38731 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-30 13:41:32 +00:00
paulberry@google.com cb63f50483 Fix analysis server integration tests on Windows.
Platform.script is a URI.  To safely convert it to a Windows path we
need to use .toFilePath(windows: ...).  Previously we used .path,
which resulted in passing nonsensical paths to the VM when invoking
the analysis server subprocess.

BUG=dartbug.com/20252
R=ricow@google.com

Review URL: https://codereview.chromium.org//423283002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38730 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-30 12:40:34 +00:00
danrubel@google.com 5a35fd7262 incremental step moving completion into services and adding tests
BUG=
R=paulberry@google.com

Review URL: https://codereview.chromium.org//422423003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38728 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-30 12:37:47 +00:00
scheglov@google.com a8da65016a Send 'server.error' notification in case of an exception during performing an operation.
R=paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org//419833004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38688 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-29 18:12:37 +00:00
paulberry@google.com df750aef30 Fix analysis server integration/test_all.dart.
This was accidentally broken when the integration test files were
renamed in r38661.

Also, remove a stray call to debugStdio() that was accidentally left
in the analysis domain integration tests.

R=danrubel@google.com, scheglov@google.com

Review URL: https://codereview.chromium.org//422343005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38687 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-29 18:09:31 +00:00
ricow@google.com 4352e4f6ae Remove package root hack from the analysis server integration testing
Use the one provided by Platform instead.

Remove suppression from status file

BUG=20251
R=paulberry@google.com

Review URL: https://codereview.chromium.org//423143002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38674 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-29 15:38:45 +00:00
danrubel@google.com 0ecfa47a94 add FUNCTION_TYPE_ALIAS to CompletionSuggestionKind
BUG=dartbug/20188
R=paulberry@google.com

Review URL: https://codereview.chromium.org//422133002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38670 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-29 12:37:23 +00:00
ricow@google.com c913a21cb6 Start running the analysis server integration tests by changing the name to end with _test.dart
Note that these will not run on the vm bots, only on the pub/pkg bots on the right.

I would rather that we keep this in the normal setup. If we are seeing to long cycle times we should shard these machines instead of special casing.

Sorry if you wasted time doing the new specialized test suite.

If we want to, we can skip this on specific platforms in the status files(qua comments in mail thread), but I don't think we should

I ran this in a loop on my linux box for a few hours, no flakes.

R=whesse@google.com

Review URL: https://codereview.chromium.org//426923002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38661 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-29 11:11:50 +00:00
paulberry@google.com 7d60f1b13c Add integration tests for analysis.getErrors.
R=scheglov@google.com

Review URL: https://codereview.chromium.org//430433002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38658 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-29 04:07:11 +00:00
scheglov@google.com 08a248283e Issue 20240. Use a FileManager that manages its own temporary directory.
So, we can have more than one index and server running.
And we know when it is time to delete or recreate this temporary directory.

R=paulberry@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=20240

Review URL: https://codereview.chromium.org//426773002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38652 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-28 22:13:58 +00:00
scheglov@google.com 4a47ef63f5 Move PackageMapUriResolver into analyzer.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//422973002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38650 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-28 21:09:58 +00:00