Commit graph

12 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
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
Pavel Krymets
3472aee5c9 Remove native compilation, add multiple project files and globbing 2016-04-20 11:54:16 -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
Eric Erhardt
6468b14e1d Move to CoreFX build rc2-23901
Update .exe's project.json Target Framework from dnxcore50 to netstandardapp1.5.
Update .dll's project.json Target Framework from dnxcore50 to netstandard1.3.

Adding workaround for DataContractSerialization to src\dotnet\project.json to fix crossgen issue.
Build 23901 has a dependency issue that doesn't allow the runtime.any.System.Private.DataContractSerialization
package to be restored. When we move to a new build of CoreFX we should take this workaround out.
2016-03-03 16:41:55 -06:00
Bryan Thornbury
c749bae962 Pipe configuration through CommandResolver
script changes to pipe configuration to test.ps1

debug commit, remove this commit

Change dotnet-test to invoke dotnet-test-xunit directly

build tests with configuration, framework, runtime in windows

Update testtargets in new build scripts

make configuration first arg to dotnet test

PR Feedback

update command factory

fix interface

test update
2016-02-18 09:57:30 -08:00
Pavel Krymets
78ccff9d50 Merge pull request #1428 from dotnet/pakrym/runtime-context-logic
Use runtime context only where we require it
2016-02-16 17:03:01 -08:00
Pavel Krymets
9fb99526a1 Use runtime context only where we require it 2016-02-16 15:54:33 -08:00
Sridhar Periyasamy
9ec8556d24 Rebase with the latest sources and fix the tests. 2016-02-16 11:26:40 -08:00
Bryan Thornbury
50ab680688 update compiler unit tests
fix rebase errors

PR Feedback

more PR feedback

fix

make new script file executable

Remove scripts from TestAppCompilationContext

add hashbang to echoscript
2016-02-12 11:37:15 -08:00
Livar Cunha
e945361a76 Replacing the fixed rid in the dotnet compile unit test by one that respects the platform where the tests are running.
Removing trailing slashes for the paths passed to the scripts to avoid the double quotes escaped issue.
2016-02-11 12:44:27 -08:00
Livar Cunha
4e1ec4c159 Refactoring dotnet-compile to make adding the script variable testable. So far, moved it to have a compiler controller and two separate compilers: native and managed. Also moved the script runner to its own class so that we can mock it into the managed controller.
Adding a ICommand interface and factory that we can use to mock Commands and avoid actually running them in unit tests.
2016-02-11 12:42:02 -08:00