Commit graph

592 commits

Author SHA1 Message Date
Andrew Stanton-Nurse
08c4aae6a9 trim build dependencies from output 2016-05-02 19:51:12 -07:00
Daniel Podder
afa471cde3 Add script to run and compare CLI perf tests (#2746)
* Add script to run and compare CLI perf tests

tests/Performance/run-perftests.py is a Python3 script that fetches all
of the dependencies needed to run the perf tests in test/Performance
locally. It can run the perf tests for a single dotnet.exe, or run two
dotnet.exe instances sequentially and compare the results between them.

Basic usage for a single test:
  run-perftests.py --name "runid" ...\dotnet.exe

Usage for a comparison run:
  run-perftests.py --name "runid" ...\dotnet.exe --base ...\dotnet.exe

For more detailed usage:
  run-perftests.py -h

* run-perftests: fix publish xunit.perf.runner.cli

The code that builds xunit-performance would skip publishing
Microsoft.DotNet.xunit.performance.runner.cli due to a bug in the
condition to check whether it was published already or not. To fix the
issue and simplify the logic, I'm making it always publish when
building the project, instead of building and publishing separately.

* run-perftests: add support for python2

* run-perftests.py: fix framework version issue

The perf test harness was failing with "stage 0" binaries due to an issue
finding the correct installed framework version. The fix is to delete the
project.lock.json followed by a dotnet restore before each run, using the
dotnet.exe that is about to be tested. (Kudos to @brianrob for the debugging
help and suggested fix!)
2016-05-02 17:07:10 -07:00
Eric Erhardt
16b996f25b Fixing the BuiltInCommandTests to not mutate global shared state.
The BuiltInCommandTests sets the current Console.Out and Console.Error, which causes the test to fail if some other test is running and writes to the console at the same time.

Fix #2768
2016-05-02 19:02:22 -05:00
Eric Erhardt
9a85205781 Merge pull request #2792 from eerhardt/Relative
Execute 'csc' with working directory set to the project directory.
2016-05-02 18:53:57 -05:00
Ajay Bhargav Baaskaran
d6d103262d Fix: builtIn defaults are not used when builtIn is not specified 2016-05-02 14:21:02 -07:00
Ajay Bhargav Baaskaran
a4487db949 Added missed warnings for deprecated schema 2016-05-02 13:22:42 -07:00
Eric Erhardt
d52ea07934 Fixing dotnet-compile and dotnet-test unit tests. Also, fixing a potential NullRef in ProjectContext.
The compile unit test needed to be updated to mock out a new call to ICommand.WorkingDirectory.

The test unit test needed to account for build-base-path getting fully qualified.
2016-05-02 14:39:09 -05:00
Piotr Puszkiewicz
c907d52451 Merge pull request #2809 from eerhardt/UpdateNuGet
Updating NuGet references from beta to rc.
2016-05-02 11:40:10 -07:00
Troy Dai
f32683cbab refactor WorkspaceContext (#2736)
this removes a regression in ProjectModelServer behavior

also added a test to cover target framework change in DTH
2016-05-02 11:32:24 -07:00
Pavel Krymets
dc249cb94b Move efs to shared runtime 2016-05-02 09:36:02 -07:00
Eric Erhardt
9d1d937ced Updating NuGet references from beta to rc. 2016-05-02 09:29:51 -05: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
2ddd3ca9a0 Updating to latest dotnet-test-xunit 2016-04-30 18:25:11 -07:00
Pranav K
9e768d9cad Merge pull request #2767 from dotnet/prkrishn/filesystemglobber
Copy FileSystemGlobbing and HashCodeCombiner sources
2016-04-29 19:57:47 -07:00
Justin Emgarten
69f1bc9937 Merge pull request #2778 from rohit21agrawal/rel/1.0.0
Update nuget version to 3.5.0-beta-1233
2016-04-29 19:53:48 -07:00
Pranav K
734c9fc43b Copy FileSystemGlobbing and HashCodeCombiner sources 2016-04-29 17:55:06 -07: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
Rohit Agrawal
e0567e976f Updating NuGet to version 3.5.0-beta-1233 2016-04-29 15:04:54 -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
Pranav K
944d4e543a Merge pull request #2732 from dotnet/prkrishn/remove-cycles
Remove references to Microsoft.Extensions.Logging
2016-04-29 10:40:24 -07:00
Pavel Krymets
cf6fdc6dac Merge pull request #2733 from dotnet/anurse/perf-tracing
Add performance tracing to dotnet cli
2016-04-29 09:45:48 -07:00
Pavel Krymets
1104e56895 Rebase 2016-04-29 09:09:23 -07:00
Andrew Stanton-Nurse
36e56e9d00 Add performance tracing 2016-04-29 08:16:37 -07:00
Pranav K
54cfe01869 Remove references to Microsoft.Extensions.Logging 2016-04-28 13:07:34 -07:00
Eric Erhardt
38d0c28a1e Merge pull request #2700 from eerhardt/FixFilePath
"dotnet test project.json" fails in a directory with a test project.json in it
2016-04-28 12:32:51 -05:00
Andrew Stanton-Nurse
b98bc1289d abort build when an unresolved dependency is found (#2696) 2016-04-28 10:02:05 -07:00
Pavel Krymets
f8300f8747 Merge pull request #2721 from dotnet/pakry/no-deps-yes-deps
Fix --no-dependencies incremental check regression
2016-04-28 08:43:59 -07:00
Eric Erhardt
e2dcb968eb Add tests for invoking dotnet XX project.json from in
a folder that contains the project.
2016-04-28 08:50:22 -05:00
Eric Erhardt
a9621eb469 Merge pull request #2717 from eerhardt/Spaces
dotnet build fails with xmlDoc = true and spaces in the path.
2016-04-27 20:36:36 -05:00
Pavel Krymets
40b96398b8 Merge pull request #2684 from dotnet/pakrym/desktop-standalone
Fix desktop standalone scenario
2016-04-27 18:23:44 -07:00
Pavel Krymets
9ffa4ad399 Fix --no-dependencies incremental check regression 2016-04-27 15:29:12 -07:00
Eric Erhardt
5c6bf47e10 Address PR feedback. 2016-04-27 17:23:28 -05: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
f3b47cabf1 Fix desktop standalone scenario 2016-04-27 12:16:40 -07:00
Ajay Bhargav Baaskaran
44fd8bc2de Updated ProjectModel
- Added PackOptions, RuntimeOptions, PublishOptions and updated CompilationOptions
 - Added IncludeFilesResolver to parse include, exclude patterns
 - Added compile, embed and copyToOutput to compilationOptions
 - Renamed compilationOptions to buildOptions
 - Moved compilerName into buildOptions
 - This change is backwards compatible
 - Added warnings to be shown when the old schema is used
 - Handled diagnostic messages in ProjectReader
 - Added unit and end to end tests
2016-04-27 11:49:44 -07:00
Pavel Krymets
cdb75966eb Remove test script 2016-04-27 08:41:22 -07:00
Pavel Krymets
0401935d31 Use performance test 2016-04-27 08:41:22 -07:00
Pavel Krymets
366bad99ac Add performance tests 2016-04-27 08:41:22 -07:00
eerhardt
f8a155a4e6 Updating CoreFx to rc2-24027 2016-04-27 05:41:53 +00:00
Eric Erhardt
5d2da26e74 Adding dotnet run tests for passing arguments to the app. 2016-04-26 19:58:41 -05:00
Brian Robbins
705a48940f Build-Time Hello World Performance Test (#2681)
Hello world build performance benchmark.
2016-04-26 17:52:34 -07:00
Eric Erhardt
7dbf525e48 Merge pull request #2680 from eerhardt/CliEncoding
dotnet build fails if the directory contains unicode characters
2016-04-26 15:11:44 -05:00
Eric Erhardt
c60abb0d0a Adding a dotnet run test that outputs unicode characters. 2016-04-26 09:36:26 -05:00
Bryan Thornbury
7a7b524b34 add tests for a test app with unicode characters in the path 2016-04-26 09:36:25 -05:00
Bryan Thornbury
498bd3b40f remove test skips introduced to workaround #2536 2016-04-25 17:25:21 -07: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
c1fbf18059 Disable test due to issue - https://github.com/dotnet/cli/issues/2632
Also fix code where the tests were not getting run.
2016-04-25 11:06:14 -07:00
Sridhar Periyasamy
c82d3cc08d Add Binding redirects tests 2016-04-25 11:06:13 -07:00
Mihai Codoban
91fb67835d Merge pull request #2619 from cdmihai/cdmihai/globChangeDetectionRelMerge
Cache inputs for globbing change detection
2016-04-25 09:32:24 -07:00
Pranav K
4974df41ee Merge pull request #2527 from dotnet/prkrishn/run-all-the-tests
Modify dotnet-test to run testRunner for all tfms
2016-04-24 21:51:57 -07:00
Pranav K
4e496c3523 Modify dotnet-test to run testRunner for all tfms
Fixes #2506
2016-04-22 16:40:03 -07:00
Mihai Codoban
a3b7c85451 Add input caching for glob change detection 2016-04-22 16:05:50 -07:00
Rohit Agrawal
7509e4d175 Update nuget version to 3.5.0-beta-1199 2016-04-22 15:27:00 -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
Eric Erhardt
e420515c2b Updating CoreFX to rc2-24022 2016-04-22 10:58:43 -05:00
Eric Erhardt
1a8d393b9b Merge pull request #2415 from eerhardt/FixTestProjects
Fix test project imports to be consistent.
2016-04-22 07:48:23 -05:00
Pawel Kadluczka
deb3367753 Merge pull request #2620 from dotnet/pawelka/tools
Fixing ProjectDependenciesCommandFactory to resolve tools
2016-04-21 22:26:58 -07:00
Pavel Krymets
c8fb6c26c3 Fixed netcore50 package based frameworks (#2630) 2016-04-21 21:47:20 -07:00
moozzyk
1aac8fb643 Fixing ProjectDependenciesCommandFactory to resolve tools
if the package name is different from the dll name

Addresses #2592
2016-04-21 19:15:54 -07:00
Eric Erhardt
a567bb8697 Fix test project imports to be consistent.
- Every project.json needs portable-net451+win8 and dotnet5.4 imports (required by dotnet-test-xunit).
- If a test references NuGet, it also needs "netstandardapp1.5", because that the TFM NuGet uses currently.
2016-04-21 11:42:30 -05:00
David Fowler
4af795b9e8 Fix duplicate dependency issue (#2597)
* Fix duplicate dependency issue
If a package has the same name as a framework assembly in the dependency
graph, we usually replace it with the framework assembly if the package
provides no assets. If the framework assembly wasn't resolved, it would
skip this logic and end up adding dupes to the list, which blows up later on.
This is a tactical fix to solve the issue, we need to do some more thinking
to determine how we want to resolve conflicts between framework assemblies,
packages and dlls with the same name.
2016-04-21 09:05:55 -07:00
Eric Erhardt
44483ddc98 Remove System.CommandLine dependency.
Also removed the dependency on Microsoft.Extensions.CommandLineUtils.Sources NuGet package and instead just checking the source files into our repo as internal classes.

Fix #2526
2016-04-20 18:47:37 -05:00
Eric Erhardt
d06418509d Merge pull request #2606 from eerhardt/UpdateAspDeps
Move ASP.NET package references to rc2-20581 from the aspnetrelease feed.
2016-04-20 18:37:16 -05:00
Pavel Krymets
88ffa548ba Merge pull request #2574 from dotnet/pakrym/graph
Add multiple input project support
2016-04-20 16:12:23 -07:00
Pavel Krymets
3472aee5c9 Remove native compilation, add multiple project files and globbing 2016-04-20 11:54:16 -07:00
Eric Erhardt
bc619cb9be Move ASP.NET package references to rc2-20581 from the aspnetrelease feed.
The places where I removed a dependency is because a lower package (InternalAbstrations) was already bringing in that dependency.

Fix #2567
2016-04-20 13:50:34 -05:00
Bryan Thornbury
a202cbef68 Reduce size of test names to fix long path issues on VSO buildds 2016-04-20 10:47:50 -07:00
Bryan
f4f05656a1 Take into account Code Review Feedback 2016-04-19 14:38:24 -07:00
Bryan
56194a8e12 Add a test case for a desktop app using Command.CreateDotnet, expecting to fail 2016-04-19 13:38:37 -07:00
Piotr Puszkiewicz
bc8b0c065f Merge pull request #2548 from dotnet/piotrpMSFT/issue2499/importDnxcore50
import dnxcore50
2016-04-19 13:09:33 -07:00
Piotr Puszkiewicz
c231910e7d Remove netstandardapp1.5 import 2016-04-19 11:23:16 -07:00
Piotr Puszkiewicz
496ec6b474 dotnet-new template imports dnxcore50. Tests Green. 2016-04-19 11:22:45 -07:00
Piotr Puszkiewicz
d45032c9d7 Unit test added and Red 2016-04-19 11:22:45 -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
b682ab1d4f make all packages serviceable by default (#2575)
fixes https://github.com/dotnet/cli/issues/2569
2016-04-19 08:34:42 -07:00
Bryan Thornbury
08ee6dedd9 Merge pull request #2559 from dotnet/brthor/2512
Fixes #2512
2016-04-18 16:33:46 -07:00
Jonathan Miller
18ae4d4791 Merge pull request #2538 from sokket/nrefix
Fixing #2480 to produce an InvalidProjectException for invalid projects
2016-04-18 13:57:57 -07:00
Bryan Thornbury
3fa70112da Fixes #2512
add tests for the projectdependenciescommandfactor

Add a test variation to test overriding the configuration provided in the constructor

update test asset name
2016-04-18 13:47:50 -07:00
Eric Erhardt
c9bee8a64f Merge pull request #2550 from eerhardt/UpdateDependencies20160418052316
Updating CoreFx to rc2-24018
2016-04-18 15:12:57 -05:00
Jonathan Miller
a71e4a5128 Fixing #2480 to produce an InvalidProjectException when attempting to publish a
project folder that does not contain a project.json file
2016-04-18 11:25:54 -07:00
eerhardt
eb4952df27 Updating CoreFx to rc2-24018 2016-04-18 05:23:16 +00:00
Eric Erhardt
6afc2ca813 Invoke compile-csc in-proc
Since processes are expensive, suppress spawning a new process when dotnet-compile is invoking dotnet-compile-csc.
2016-04-16 00:28:57 -05:00
Andrew Stanton-Nurse
852446e859 Improve resource file support (#2511)
* Add satellite assemblies to deps file with locale data
* Publish satellite assemblies to output during publish
* Copy satellite assemblies from project-to-project dependencies on
build and publish
2016-04-15 14:45:51 -07:00
Joel Verhagen
fbe5a23318 Take the latest NuGet build 2016-04-15 12:37:45 -07:00
eerhardt
070650ebac Updating CoreFx to rc2-24015 2016-04-15 05:25:53 +00:00
Eric Erhardt
880dcf2fc8 Merge pull request #2345 from dotnet/anurse/update-nuget
update nuget to 1160
2016-04-13 21:47:26 -05:00
Andrew Stanton-Nurse
71d5738fff re-restore test projects at their destination
since NuGet now stores the relative path to dependent projects in the lock file, projects need to be restored when they are moved
2016-04-13 17:56:51 -07:00
Andrew Stanton-Nurse
2956446864 update nuget to 1160 2016-04-13 17:56:50 -07:00
Eric Erhardt
deef7f867f Fix PublishTestAppWithContentPackage test to work on all platforms. 2016-04-13 18:38:15 -05:00
Eric Erhardt
f6f1a52ec4 Add publish test for an app with a dependency with contents. 2016-04-13 17:25:34 -05:00
Pavel Krymets
bde7d72b8f Merge pull request #2401 from dotnet/pakrym/lib-runtime-config
Do not generate and pack runtime config for libraries
2016-04-12 21:01:03 -07:00
Pavel Krymets
f4b1a400f6 Do not generate and pack runtime config for libraries 2016-04-12 19:18:58 -07:00
Pavel Krymets
482f36d26b Merge pull request #2371 from dotnet/pakrym/low-fat
Make desktop publishing "half-portable" by default
2016-04-12 19:13:34 -07:00
Troy Dai
065e8352fc Merge pull request #2441 from dotnet/troy/2420
Send DependencyDiagnostics after Dependencies message
2016-04-12 16:30:27 -07:00
Andrew Stanton-Nurse
a48596ff23 make 'platform' flag dependent upon CLI bitness
this will make net451 deployment work for x86 apps
2016-04-12 16:11:00 -07:00
Andrew Stanton-Nurse
f2bf60d06f add separate test for publish layout 2016-04-12 16:09:53 -07:00