The CLI tool's tests are run against sample test projects for validation.
TestFramework provides an easy way to manage these sample test projects.
Converted the publish test to use the TestFramework.
- Rename Compiler.Common.Tests to Microsoft.DotNet.Compiler.Common.Tests.
- Create the Microsoft.DotNet.Cli.Utils.Tests and move StreamForwarderTests to it.
- ArgumentForwardingTests will be moved here in the future
- Remove LoadContextTest, since it is old and no longer relevant.
Partial #1250
We have a bunch of NuGet.Config files in our tests that were needed before because the tests were run out of a temp directory. Now the tests are run out of the artifacts folder, which is a subdirectory of our repo root, so the root NuGet.Config will get picked up.
I also updated all the dotnet-core feeds from www.myget.org to dotnet.myget.org.
1. Address the null reference exception when a project dependency is
broken.
2. Address the duplicate key issues after the logic of redirecting
System pacage to reference assembly was added
Update projectmodel-server and tests
1. Fix test timeout caused by undisconnected socket;
2. Update project model server
Rather than keep a map that will have to be constantly updated every time
a new argument gets added to a compiler, the 'additionalArguments' option
will allow users to directly add arguments to the underlying compiler.
remove publish todo
small fixes
small fixes
fix packaging test bug
Fix script bug
script changes
fix packaging test
NuGet task cancelled workaround
script fixes further
more script fixes, + workaround tweak
use build rather than compile in package command test
_nuget needs some RepoRoots
get the cats in line (d)
spaces
Fix Linux build breaks
add execution permissions
Pick up #999 Finish refactoring test scripts
remove auth
Reorder publishing to work!
fix rebase errors
fix more rebase errors
small fixes
- 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.
With this change, any referenced analyzer project will be parsed by the
project system and the assemblies will be passed down to the compiler.
By default, the analyzer language is considered to be "cs". If another
language is used, the "languageID" option should be specified inside the
"analyzerOptions" section of the project.json file.
Resolves#83
Fix the refactoring bugs
fix restore
downgrade version of package command test
Linux Test Script Fixes
use corehost instead of corerun for arg testing
don't copy corehost
fix scripts
Account for change in publish path, use corerun. Issue with AppContext.BaseDirectory in corehost.
Case Sensitive Reflector
wait for process exit
Fix bug in runtests.ps1
fix release build output path
fixup bug in runtests.sh
Renaming variables according to code review comments. Adding the folder logic to the builder tests. Creating a separate compilation folder during the build.
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.
Parallel test runs were racing on the same response file in the common
intermediate directory.
Each builder test now has it's own intermediate directory
- Fixed a bunch of dependencies that was causing dotnet restore to fail on the CLI
- Added imports to `project.json` so that `dotnet-restore` works
- Fixed a bunch of dependency issues in different projects
- Ironically, running `dotnet restore` on the dotnet-restore project still fails (will fix in another commit). Looks like it might be a nuget issue
1. Rebase on new LibraryExporter
2. Update dependency name to "fx/<name>" for reference assembly
3. Update framework friendly name
4. Fix dependency message regression
5. Update tests
- 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
CentOS tests were blocked due to issue https://github.com/dotnet/corefx/issues/5066.
It has been fixed with the latest NetStandardLibrary, hence upgrading from 1.0.0-rc2-23616 to 1.0.0-rc2-23704.
With this fix the native shims are correctly restored by dnx for RID centos.7-x64.
This is a quick fix to improve test diagnosability with the E2E Test.
We see situations where the output executable fails and we are left without any error output.
This addition should output any stderr output from the output executable.
cc @piotrpMSFT
- Removed unused message types
- Removed intermediate ProjectInfo and ProjectState types
- Renamed Snapshot to ProjectSnapshot and ProjectSnapshot to ProjectContextSnapshot
- Exposed Project on ProjectContextCollection
- Removed AllDiagnostics message since it won't be used
- Renamed ProjectContextManager to ProjectManager
- Create project context snapshot in one pass
- Create project contexts lookup inline
- Consistent naming of payloads
Build becomes the new compile. It decides which project to compile and how. It checks for incremental preconditions
Compile's resonsibility is trimmed down to only knowing how to invoke the compiler on a project