Commit graph

98 commits

Author SHA1 Message Date
Andrew Stanton-Nurse
a729b97b35 align code in dotnet-run (#2679)
we used to use different code when --framework was specified than when it was not specified, this synchronizes them to use the same code path which removes a hidden NullRef

also adds tests to cover both cases
2016-04-25 13:53:02 -07:00
Sridhar Periyasamy
beb27a28fc Address PR feedback
Add new tests to invokde executable dependency via a tool command.
2016-04-25 12:02:07 -07:00
Sridhar Periyasamy
c82d3cc08d Add Binding redirects tests 2016-04-25 11:06:13 -07:00
Andrew Stanton-Nurse
ef0ca39da1 Memory usage improvements in build (#2626)
* Use a WorkspaceContext in dotnet-build to cache project data across
multiple compilations in a single build action
* Dramatically reduce string and object duplication by introducing a
"Symbol Table" that shares instances of NuGetVersion, NuGetFramework,
VersionRange and string across multiple lock-file parses

Test Results:
* Testing was done by compiling Microsoft.AspNetCore.Mvc (and it's
dependencies) and taking memory snapshots after each compilation in
dotMemory
* We used to allocate ~3MB and deallocate ~2.5MB on EACH compilation in
a single build action. This has been reduced to ~120KB
allocated/deallocated
* After introducing WorkspaceContext, total memory usage spiked from 6MB
across the whole build action to about 13MB, introducing the symbol
table dropped it back to about 5-6MB.
2016-04-22 15:01:56 -07:00
Bryan Thornbury
83d78129db t Convert Test Assets to Microsoft.NETCore.App
fix dotnet-compile-fsc failures

fix test failures
2016-04-19 11:08:27 -07:00
Andrew Stanton-Nurse
14770ae5ba Add tests for "half-portable" scenario 2016-04-12 16:09:53 -07:00
Pavel Krymets
cf0673333d Fix publish when build was ran using build-base-path 2016-04-12 13:30:18 -07:00
Eric Erhardt
4c704997c9 Remove infer-runtimes from EndToEnd tests. 2016-04-08 09:32:56 -05:00
Sridhar Periyasamy
8f00b95783 Add kestrel tests.
Tests will 'build', 'run', 'publish' and 'execute' a Kestrel Hello World server as a PortableFatApp and as a Standalone app.
2016-04-04 17:57:12 -07:00
Pavel Krymets
7e73e5c379 Pass no additional arguments to net451 app 2016-03-31 10:35:42 -07:00
Mihai Codoban
ded82caccd Publish can skip Build 2016-03-30 19:24:43 -07:00
Pavel Krymets
9b9725ac38 Remove rid inference 2016-03-30 16:58:02 -07:00
piotrp
1a42fa05a4 Add WorkingDirectory to TestCommand 2016-03-28 17:25:52 -07:00
Bryan Thornbury
97a01213ac Fix debian packages 2016-03-22 15:01:01 -07:00
moozzyk
621d8376c3 Fixing publish to create executable with the outputName if specified 2016-03-21 12:42:32 -07:00
moozzyk
03f5379165 Adding support for output file name for apps. 2016-03-21 12:42:31 -07:00
Livar
1c9803d980 Merge pull request #1786 from livarcocc/tests_as_client
Modifying the reporting channels to make the AdapterChannel a client
2016-03-15 16:37:26 -07:00
Andrew Stanton-Nurse
cc00d9d839 update project templates for portable app
also fix dotnet run
2016-03-15 15:18:48 -07:00
Livar Cunha
8d39adbdbf Modifying the reporting channels to make the AdapterChannel a client and leave the TestRunnerChannel a server. This will prevent port conflicts between dotnet test and the Adapter (VS) due to race conditions.
Added E2E tests for dotnet test interactions with an adapter (design time).
2016-03-15 15:13:54 -07:00
Andrew Stanton-Nurse
d08e83d5db add support for portable application layout 2016-03-12 11:52:29 -08:00
Andrew Stanton-Nurse
7cc90d9ad1 Update dotnet-build to produce portable layout
dotnet-build will produce a deps file for portable builds, and will now
create "runnable" outputs for RID-less targets

the outputs won't actually be runnable today because we need corehost
changes and to generate a deps.json file for corehost to use.
2016-03-08 11:46:15 -08:00
Pavel Krymets
0037e0aba9 Fix dontet pack with buildbasepath 2016-02-23 19:13:50 -08:00
Pavel Krymets
c65a1700eb Merge pull request #1449 from dotnet/pakrym/runtime-assets
Fix publish runtime asseets
2016-02-18 08:07:37 -08:00
David Fowler
69b5e3f815 Fixing versions
- Added --version-suffix to build and publish
- Support reading DOTNET_* version variables everywhere versions can be read
- Show the commit sha in dotnet --version
- Added tests that check the assembly output version
- Set DOTNET_BUILD_VERSION when producing the CLI app itself so that it has the version information stamped in for help.
2016-02-18 01:10:07 -08:00
Piotr Puszkiewicz
d9b54cecac Merge branch 'PackagedCommands' of https://github.com/eerhardt/cli into eerhardt-PackagedCommands 2016-02-16 21:20:57 -08:00
Pavel Krymets
b0ff1857cc Fix publish runtime asseets 2016-02-16 20:54:11 -08:00
Austin Wise
67b4012e45 Move the help command it it's own class.
Also fix the help command to work with intrinsic commands.
2016-02-15 20:11:02 -08:00
Bryan Thornbury
c1e28ae921 Refactor ScriptExecutor, add test cases for scriptexecutor.
Add TargetFramework and FullTargetFramework to compile and publish script
variables.

Add ProjectLocal Command Resolution Strategy.

Fixup ArgumentEscaper to not always quote things.

Fixes #1216
Fixes #1016
Fixes #982
2016-02-12 11:04:30 -08:00
Mihai Codoban
a0990a518c Add --no-dependency flag to build 2016-02-10 15:35:27 -08:00
Eric Erhardt
5d04ca1fe3 Move PackagedCommands to TestAssets.
Convert package-command-test.ps1 to an XUnit test.
2016-02-10 15:05:25 -06:00
Bryan Thornbury
0b27dba299 Merge pull request #1240 from dotnet/brthor/stream_forwarding_changes
Stream Forwarding Changes.
2016-02-09 10:45:35 -08:00
Pavel Krymets
0f82ae37f3 Refactor output directory code 2016-02-09 08:52:59 -08:00
Bryan Thornbury
ccaaebf6e5 Stream Forwarding changes to not wait on buffer full before writing. Instead input streams will be read character by character as they Console.Write or Console.WriteLine. Upon finding a newline character, the line will be printed to the parent process's console. 2016-02-08 14:19:02 -08:00
Mihai Codoban
897c0fa0f0 Rename --force-incremental-unsafe flag to --no-incremental 2016-02-04 15:57:10 -08:00
David Fowler
a35ae177ff - Make all of the code looking for built assets use the OutputPathCalculator
- Project dependencies are always built into their specific folders and the main project is the only one that uses the output path and intermediate output path variable.
- Publish respects the output path for publish only, not compile as part of publish. This means that publishing multiple runtimes will stomp on each other. So don't do that. We can throw if you specify and output location and you haven't specified a specific combination of RID and framework. Alternatively it should probably just pick the first TFM/RID pair from the lock file. This is similar to how `dotnet run` works.
- Cleaned up the incremental build output formatting
- Use a single stream (output stream) since interleaving them was causing formatting issues (like losing random characters in the middle of outputting things).
- Didn't change how pack works, it still preserves the output structure when passing `--output`, this one is worth discussing. We could leave the build output inplace and only move the package to the output location. That's more consistent with how everything else works and can be a follow up PR.
2016-01-27 11:13:45 -08:00
piotrp
a66546d8fb Maintain test artifacts
Improved test diagnostics
Providing diagnostics about failed process.
Workaround for https://github.com/NuGet/Home/issues/1977
get past crossgen errors!
2016-01-26 23:25:39 -08:00
Bryan Thornbury
d1d23944df Changes to fix publish tests 2016-01-23 13:01:34 -08:00
piotrp
9c5e520285 various fixes 2016-01-23 13:01:33 -08:00
Bryan
37445f053d Test Changes to work with new Argument Escaping and Command Infra 2016-01-23 13:01:32 -08:00
Livar Cunha
ac2d0e36a9 Changing multiple dotnet commands to be aware of $configuration/$tfm folder structure under the --output path option.
Changing the build scripts to copy files over from debug\dnxcore and to check for the folders existence before trying that.
Making the build command aware of the subfolders and making E2E tests aware of subfolders.
Fixing compiler tests to look for the xml in the right plae taking into consideration the configuration and tfm.
Modifying publish tests to not take into consideration the runtime. This is a temporary change. will bring it back once the commands all understand rid.
Making the packaging step work by placing binaries where dotnet pack expects.
2016-01-22 15:22:44 -08:00
Mihai Codoban
3a8ef0f5e9 Add Tests for incrementality 2016-01-20 16:07:12 -08:00
Mihai Codoban
bedeaaf2dc Compile incrementally
- Clone the args in the CompileContext constructor to bring uniformity
to the way args are accessed

- Compute IO for a project and have it shared between build and compile

- Extract dependency logic into facade

- Add tests for incremental build

- Add precondition checks for compiler IO

add --force-incremental-unsafe flag
2016-01-12 13:16:52 -08:00
moozzyk
0e4719ee95 Adding pre/post publish scripts
Fixes #742
2016-01-12 09:41:59 -08:00
Andrew Stanton-Nurse
78cef18e1c add support for generating xml documentation
fixes #312
2016-01-08 14:02:41 -08:00
Andrew Stanton-Nurse
f4df12f2e2 add proper RID detection based on PlatformAbstractions 2016-01-08 10:07:58 -08:00
Bryan
7425691fe6 Fixup some Usings Statements. Remove SkipForOS function in favor of ActiveIssue 2016-01-05 16:05:43 -08:00
Bryan
18d17ce8c5 End to End Test Refactoring. Build upon Publish Test Infrastructure and add
capability for further testing.s enter the commit message for your changes. Lines starting
2016-01-05 13:40:33 -08:00
Sridhar Periyasamy
07eb7ef28f Dotnet publish tests 2015-12-14 17:39:29 -08:00