Commit graph

59 commits

Author SHA1 Message Date
Piotr Puszkiewicz
94e620088e Test Infrastructure Updates
Creates a TestDirectory abstraction under TestInstance to manage creation of test-specific working directories
Enables TestAssetManager to create TestDirectory instances
Enables fluent addition of Environment Variables to TestCommand
Adds PathUtility support for ensuring a directory exists
2016-05-03 10:36:05 -07:00
Eric Erhardt
f2d917ed2e Execute 'csc' with working directory set to the project directory.
When using a ruleset with a relative path in buildOptions, csc can't
find the file because it is not working in the same directory as the
project.

Fix #2710
2016-05-01 22:46:03 -05:00
Pranav K
f8631fa4b7 Merge pull request #2747 from dotnet/prkrishn/remove-platformabstractions
Replaces references to Microsoft.Extensions.PlatformAbstractions
2016-04-29 17:54:22 -07:00
Piotr Puszkiewicz
ce3eed0306 Revert "Add performance tests" 2016-04-29 16:35:27 -07:00
Pranav K
1e753f7781 Replaces references to Microsoft.Extensions.PlatformAbstractions with Microsoft.Extensions.PlatformAbstractions.Internal 2016-04-29 16:06:23 -07:00
Pavel Krymets
dfa071de21 Merge pull request #2663 from dotnet/pakrym/perf-tests
Add performance tests
2016-04-29 11:18:50 -07:00
Eric Erhardt
2ed81240fa dotnet build fails with xmlDoc = true and spaces in the path.
Need to quote the xmlDoc argument to the csc compiler.

Fix #2600
2016-04-27 15:43:12 -05:00
Pavel Krymets
cdb75966eb Remove test script 2016-04-27 08:41:22 -07:00
Pavel Krymets
366bad99ac Add performance tests 2016-04-27 08:41:22 -07:00
Eric Erhardt
5d2da26e74 Adding dotnet run tests for passing arguments to the app. 2016-04-26 19:58:41 -05:00
Piotr Puszkiewicz
7e0714d781 Merge pull request #2586 from Sridhar-MS/binding-redirects
Generate binding redirects for all executable package dependencies.
2016-04-25 17:04:19 -07:00
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