Commit Graph

3570 Commits

Author SHA1 Message Date
Alex Hoppen
57196f8902 [libSyntax] Enable serialization of syntax trees for incremental transfer 2018-07-23 12:32:49 -07:00
Michael Gottesman
aa4bd9c14d [update-checkout] Change dump-hashes to dump a update-checkout config file rather than a textual dump format.
Previously -dump-hashes dumped the current state of the hashes in a format like
the following:

$REPO_NAME $HASH $SUBJECT

While this dumps the relevant information, it is not machine parseable. Instead
in this commit, we dump out the hashes into a update-checkout config json file
with a scheme name of repro. Thus to reproduce the current repository state on
someone else's machine, you don't need to type in the exact hashes. Instead, one
can just do:

```
$ ./swift/utils/update-checkout -dump-hashes > repro.json
```

and then give the repro.json file to another swift developer. They then can run:

```
$ ./swift/utils/update-checkout -config=repro.json -scheme=repro
```

which will checkout all of the appropriate hashes for each repository to
reproduce the build on the other user's machine.
2018-07-22 15:33:36 -07:00
Michael Gottesman
860a06af87 [update-checkout] print(json.dumps(...)) => json.dump(..., sys.stdout) 2018-07-22 15:33:23 -07:00
swift-ci
7b5e5028b7 Merge remote-tracking branch 'origin/master' into master-next 2018-07-20 13:49:10 -07:00
Alex Hoppen
858155c648 Merge pull request #18088 from ahoppen/01#3-refactor-test-utility
[incrParse] Refactor the test utility to be more modular
2018-07-20 13:46:30 -07:00
Alex Hoppen
d9d5afd15a [incrParse] Refactor the test utility to be more modular
This way we can use the same core of the test utility to verify
round-tripness of incrementally transferring the syntax tree to
swiftSyntax.
2018-07-19 14:47:58 -07:00
swift-ci
c4feb3611d Merge remote-tracking branch 'origin/master' into master-next 2018-07-18 17:09:20 -07:00
Alex Hoppen
1df1dc71b7 Merge pull request #18016 from ahoppen/003-incremental-syntax-coloring
[libSyntax] Incremental syntax colouring
2018-07-18 17:08:02 -07:00
Alex Hoppen
7a750bf024 [libSyntax] Allow syntax cache reuse info to be passed back via SourceKit 2018-07-18 13:35:10 -07:00
swift-ci
9b12d01fc2 Merge remote-tracking branch 'origin/master' into master-next 2018-07-17 09:09:17 -07:00
Alex Hoppen
3bf94abbfc Merge pull request #17621 from ahoppen/002-sytnax-tree-based-coloring
[libSyntax] Syntax colouring based on the syntax tree
2018-07-17 08:54:51 -07:00
swift-ci
089d05dfcd Merge remote-tracking branch 'origin/master' into master-next 2018-07-13 21:09:08 -07:00
Dan Zheng
07a8cf39d8 [update-checkout] Skip cloning repos not specified in scheme. (#17949)
Previously, if a branch scheme did not specify a branch for a repository,
update-checkout would crash. It's implied that all repositories should be
cloned by all schemes, which is not necessarily the case.

Now, repositories not specified in a scheme are not cloned.

Addresses SR-8060.
2018-07-13 20:57:52 -07:00
Alex Hoppen
c8a3957ba2 [SourceKit] Add option to force the SyntaxMap to be generated via the syntax tree 2018-07-13 17:57:00 -07:00
Alex Hoppen
8430eff670 [libSyntax] Add syntax coloring based on the syntax tree 2018-07-13 17:48:47 -07:00
Alex Hoppen
4516873440 [incrParse] Test utility: Compare syntax trees without IDs
IDs are not expected to be the same between incremental parsing and
from-scratch parsing.
2018-07-13 16:56:03 -07:00
swift-ci
fde64d91a9 Merge remote-tracking branch 'origin/master' into master-next 2018-07-11 18:59:53 -07:00
Ankit Aggarwal
4c79a12d19 [build-script] Link llbuild with SwiftPM
Pass the neccessary flags to llbuild with SwiftPM
2018-07-11 17:12:34 -07:00
swift-ci
9fbd91e8ba Merge remote-tracking branch 'origin/master' into master-next 2018-07-09 15:09:41 -07:00
David Hart
335290e397 Install llbuild swift bindings 2018-07-07 13:55:03 +02:00
swift-ci
3f1a7fa1ca Merge remote-tracking branch 'origin/master' into master-next 2018-07-06 18:49:09 -07:00
Michael Gottesman
31b8c29355 [dev-scripts] Add a new tool called scurve_printer to print scurve data produced by csvcolumn_to_scurve.
This used matplotlib internally to plot the values. Now one can produce scurves
without leaving the command line.

I tried to get logarithmic scale to work, but I was unable to do so in a trivial
way. That is something for a different hacking session. I need to move on.
2018-07-06 16:44:34 -07:00
Michael Gottesman
70b58fa88d [dev-scripts] Add csv_to_scurve.py to convert csv documents into an scurve csv file ready for graphing.
I am upstreaming this for two reasons:

1. Traditionally I have done this by hand in a spreadsheet program. I would
rather just have a program fix it up for me.
2. Multiple people have asked me about how to produce this sort of graph and I
would just like to document it via a script.

I hope it is useful to others. You use the script by invoking it as:

./csvcolumn_to_scurve <input_file> <before_column> <after_column> [output_file]
2018-07-06 16:31:40 -07:00
swift-ci
f3c047d5d4 Merge remote-tracking branch 'origin/master' into master-next 2018-07-05 17:49:10 -07:00
Dave Abrahams
40c934fdac [Emacs support] Fix the fix for latest emacs 2018-07-05 16:43:40 -07:00
swift-ci
68f92a5cc0 Merge remote-tracking branch 'origin/master' into master-next 2018-07-05 16:20:09 -07:00
Connor Wakamo
518661c7ce Merge pull request #14821 from cwakamo/update-build-script-for-new-PlaygroundLogger
[build-script] Updated build-script-impl to be able to run the tests for the new PlaygroundLogger implementation.
2018-07-05 16:05:28 -07:00
Jonas Devlieghere
16e0631aab [build-script] Pass dotest arguments to lit
Pass the dotest arguments to lit and run the full test suite.
2018-07-05 02:45:42 -07:00
Jonas Devlieghere
922ab4bbf4 [build-script] Don't run lit tests separately
With the recent changes upstream we use lit as the test driver for CMake
based builds. Instead of invoking lit and dotest separately, we need to
pass the dotest arguments to lit and have it take care of everything for
us.
2018-07-04 08:52:27 -07:00
Christopher Rogers
dff1d8983d Fix typos/grammar in comments & docs 2018-07-03 14:31:36 +09:00
Mishal Shah
85de71fa86 [Preset] Enable swift specific lldb test for PR testing 2018-07-02 14:29:17 -07:00
Mishal Shah
a9a59f9cfe Enable swift only lldb tests for macOS toolchain preset 2018-06-29 18:00:29 -07:00
Connor Wakamo
5d8b6ad926 [build-script] Updated build-script-impl to be able to run the tests for the new PlaygroundLogger.
Switched to using `build-for-testing`/`test-without-building` for the PlaygroundLogger tests.
The new PlaygroundLogger tests are now a proper XCTest unit test bundle, so it needs to be done this way (instead of building the test runner and then just invoking that).

This is part of <rdar://problem/37765445>.
2018-06-28 10:24:01 -07:00
Dave Abrahams
1561dedc45 Update swift-project-settings for latest Emacs 2018-06-27 16:07:07 -07:00
swift-ci
18fc42d6c6 Merge pull request #17527 from DougGregor/swift-api-dump-fixes 2018-06-26 14:55:04 -07:00
Doug Gregor
8082d391bd [swift-api-dump] Support arbitrary version strings, e.g., "4.2"
Fixes rdar://problem/41141987.
2018-06-26 13:39:42 -07:00
Andrew Breckenridge
f43f5cbc37 [Preset] Add defaults for android ndk & arm directories 2018-06-21 10:49:40 -07:00
Andrew Breckenridge
25a6f65d97 [Preset] Add linux crosscompile android preset 2018-06-20 11:19:25 -07:00
Jason Molenda
8ed29b0b76 Add swift-stdlib-build-type=Release to the
LLDB_Swift_DebugAssert_with_devices and
LLDB_Swift_ReleaseAssert_with_devices presets -
we don't need debug information in the stdlib
that we use when testing on-device.

(cherry picked from commit c7ce1148a3)
2018-06-19 18:13:36 -07:00
Michael Gottesman
694f2488d4 [viewcfg] Explicitly tell open to use Graphviz instead of relying on system defaults.
Just eliminates a source of unnecessary error. We only support graphviz so
nothing is lost here.
2018-06-19 16:41:42 -07:00
Ben Langmuir
4b48f4d6fb Merge pull request #17145 from benlangmuir/notification-test-non-determinism
[sourcekit] Fix non-deterministic failure in CompileNotifications tests
2018-06-13 12:34:17 -07:00
Ben Langmuir
a88c73fe60 [sourcekit] Fix non-deterministic failure in CompileNotifications tests
This is a test-only change except for the introduction of a new request
that is only used by tests.

Our notifications are dispatched in the XPC event handler, which is not
synchronized with replies to explicit XPC send_message_with_reply calls.
This is fine for most users of sourcekitd, since the notifications are
already enqueued on the client side, but for testing we need a way to
guarantee that all notifications are passed to the client-side handler
before we exit. This commit introduces a new request for testing that
triggers a notification, allowing the client to wait on that
notification to ensure all previously posted notifications have been
handled.

Note: the non-deterministic test failures can be triggered by adding a
sleep of ~100 ms in the event handler before the notification is
dispatched to the main queue.

rdar://40311995
2018-06-13 11:32:18 -07:00
Jordan Rose
87e9b85683 [test] Handle an Xcode path with spaces in it (#17161) 2018-06-12 18:21:45 -07:00
Mishal Shah
9617cefbe5 Update-checkout config with swift-4.2-branch-06-11-2018 branch 2018-06-11 14:55:05 -07:00
Mishal Shah
63c9cb930f Merge pull request #16992 from marcrasi/toolchain-results-in-current-directory
put build-toolchain results in directory that it is called from
2018-06-07 14:09:10 -07:00
Mishal Shah
3f8ce7d2f9 Update master to build with Xcode 10 beta 1, OS X 10.14, iOS 12, tvOS 12, and watchOS 5 SDKs. 2018-06-04 23:14:19 -07:00
Marc Rasi
7640a95dca put build-toolchain results in directory that it is called from 2018-06-04 23:36:21 +00:00
Michael Gottesman
971630b6fc Teach build-toolchain how to pass distcc down to build-script.
This just causes build-toolchain to pass --distcc to build-script.
2018-06-03 19:42:43 -07:00
Michael Gottesman
b77a47ed83 [bug_reducer] Update/fix for mangling/bitrot.
rdar://31044019
2018-06-03 18:50:35 -07:00
Michael Gottesman
62adeb6b9d [build-script] Add some sanity to how we trigger benchmarks being built.
Specifically:

1. SKIP_TEST_BENCHMARK => SKIP_TEST_BENCHMARKS

I looked for --skip-test-benchmark (notice no s) and SKIP_TEST_BENCHMARK. It
seems like it is dead, especially since we have --skip-test-benchmarks.

2. Remove the code that works around SKIP_TEST_BENCHMARK typo.
2018-05-30 14:22:23 -07:00