Commit Graph

4182 Commits

Author SHA1 Message Date
paulberry@google.com abfa8dd268 Rework search_domain_int_test to avoid timeouts.
Now all sub-tests are run using a single analysis server so that the
SDK only needs to be analyzed once.

Reduces test time by about 9x.

R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39064 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-09 14:19:17 +00:00
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 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 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
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
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
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
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 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
paulberry@google.com 099b8ba634 Add placeholder test for completion domain.
R=jwren@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38642 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-28 19:05:25 +00:00
scheglov@google.com e24d5aacfc Implementation of the 'search.getTypeHierarchy' API.
R=paulberry@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38626 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-28 15:52:28 +00:00
scheglov@google.com 33e44b90b0 Implement more fixes.
R=paulberry@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38571 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-25 03:21:09 +00:00
paulberry@google.com b598db2dcc Start writing analysis server integration test for 'completion.getSuggestions'.
The test is currently incomplete (and hence disabled) due to
dartbug.com/20188.

R=jwren@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38559 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-24 22:08:10 +00:00
scheglov@google.com f96087b9c1 Drop 'errorToJson', use server's AnalysisError.
R=paulberry@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38550 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-24 20:21:12 +00:00
scheglov@google.com aba0cfa4e6 Remove any 'group' invocations enclosing 'runReflectiveTests'.
R=paulberry@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38547 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-24 18:08:45 +00:00
paulberry@google.com 61d702cc89 Handle bad data in analysis server integration tests.
If bad data is received from the analysis server (e.g. a stacktrace),
switch on debugging output, let the integration test run for 1 more
second (to collect the entire stacktrace), and then fail the
integration test.

R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38545 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-24 17:39:25 +00:00