This repo contains CoreRT, an experimental .NET Core runtime optimized for AOT (ahead of time compilation) scenarios, with the accompanying compiler toolchain.
Перейти к файлу
Tomáš Rylek 1bb85b989d
Initial support for running tests against CPAOT-built framework (#6530)
* Initial support for running tests against CPAOT-built framework

The pass rate is not super high right now, I'm seeing 109 failing
tests or about 13% pass rate but the main point is that the pass
rate is not zero, we can build on that.

In the AVAILABLE_TYPES R2R node, I added provisions for emitting
exported types. This was one of the issues we were hitting - the
partial facade System.Runtime wasn't properly exporting its type
forwards.

In the PE builder, I dropped copying of all directories per JanK's
suggestion, the latest impulse being a mismatch between the debug
directory and the CPAOT-compiled executable.

* Modify available types to be emitted based on metadata

I have applied JanK's suggestion to change AVAILABLE_TYPES
to be generated based on metadata rather than based on the results
of dependency analysis.

* Addressed Michal's PR feedback

1) Unified DefinedTypeInfo and ExportedTypeInfo to use a common
generic class TypeInfo<THandle> per Michal's suggestion.

2) Fixed exported type traversal to cater for nested forwards.

3) Added a tiny fix I noticed by comparing CPAOT and Crossgen
code - querying method dictionary in a generic lookup should use
the "METHOD_HANDLE", not "METHOD_DICTIONARY" fixup. This increases
the pass rate of Top200 against CPAOT-built framework to about
82% (22 failures out of 126 tests).

Thanks

Tomas
2018-11-06 18:34:12 +01:00
.vscode Updated paths to ILC in docs and fixed .vscode/launch.json (#4212) 2017-07-21 21:53:46 +02:00
Documentation Add ILC architecture document (#6389) 2018-10-06 20:29:38 -07:00
buildpipeline Publish indexed symbols 2018-06-13 10:33:28 -07:00
buildscripts Merge branch 'master' into r2r-merge 2018-09-25 14:20:55 +02:00
cross Add Bionic to sources.list for cross (#6417) 2018-10-02 15:22:01 -07:00
pkg Include CppCodeGen headers in the IL Compiler package (#6457) 2018-10-15 17:57:06 -07:00
samples Update MonoGame package version (#6277) 2018-08-30 11:24:29 -07:00
src Initial support for running tests against CPAOT-built framework (#6530) 2018-11-06 18:34:12 +01:00
tests Initial support for running tests against CPAOT-built framework (#6530) 2018-11-06 18:34:12 +01:00
.editorconfig Add .editorconfig (#3001) 2017-03-16 18:41:57 -07:00
.gitattributes Add *.in text eol=lf to .gitattributes (#2579) 2017-01-24 20:08:45 -08:00
.gitignore Ready To Run Test Support (#6156) 2018-08-02 12:50:35 -07:00
.gitmirrorall Enable mirroring 2015-10-28 12:32:36 -07:00
BuildToolsVersion.txt Update buildtools 2018-10-11 22:23:51 -07:00
DotnetCLIVersion.txt Fix build break in official build (#6326) 2018-09-12 17:34:29 -07:00
LICENSE.TXT Update licensing headers 2016-01-27 21:18:14 -08:00
NuGet.config Update unit test projects to netstandard2.0 (#6295) 2018-09-06 11:13:43 -07:00
PATENTS.TXT Adding things to patents 2015-11-17 22:58:13 -08:00
Packaging.props New ObjectWriter NuGet packaging scripts (#5667) 2018-04-09 16:51:17 -07:00
README.md Update main readme file (#5555) 2018-03-15 18:11:57 -07:00
THIRD-PARTY-NOTICES.TXT Update Lincense Info (#3615) 2017-05-15 13:01:28 -07:00
build.cmd Fix rough edges after CLI update (#3983) 2017-06-26 17:10:12 -07:00
build.proj Update CoreRT build to use latest .NET CLI and build tools (#3916) 2017-06-24 11:10:44 -07:00
build.sh Split build scripts for CI (#2309) 2016-12-08 09:56:38 -06:00
dependencies.props Unify versions of System.Reflection.Metadata used in CoreRT (#6515) 2018-10-31 17:42:56 -07:00
dir.props Update to official XUnit 2.4 (#6299) 2018-09-07 08:06:08 -07:00
dir.targets Update unit test projects to netstandard2.0 (#6295) 2018-09-06 11:13:43 -07:00
dir.traversal.targets Fix "build.cmd clean" (#4095) 2017-07-07 04:55:29 +02:00
init-tools.cmd Update to official XUnit 2.4 (#6299) 2018-09-07 08:06:08 -07:00
init-tools.msbuild Rev netcoreapp2.0 to netcoreapp2.1 (#5974) 2018-06-20 17:06:28 -07:00
init-tools.sh Update to official XUnit 2.4 (#6299) 2018-09-07 08:06:08 -07:00
netci.groovy Add ready-to-run CoreCLR tests to CI 2018-08-28 14:57:06 -07:00

README.md

.NET Core Runtime (CoreRT)

This repo contains the .NET Core runtime optimized for ahead of time compilation. The CoreRT compiler can compile a managed .NET Core application into a native (architecture specific) single-file executable that is easy to deploy. It can also produce standalone dynamic or static libraries that can be consumed by applications written in other programming languages. To learn more about CoreRT, see the intro document.

Try Our Samples

If you would like to give CoreRT a try, we publish daily snapshots of CoreRT to MyGet. Using CoreRT is as simple as adding a new package reference to your .NET Core project and publishing it. Check out one of our samples: a "Hello World" console app, a simple ASP.NET Core app, or a MonoGame game. The README.md file in each sample's directory will guide you through the process step by step.

Platform Support

This is a work in progress. The current state of platform support:

How to Engage, Contribute and Provide Feedback

Some of the best ways to contribute are to try things out, file bugs, and join in design conversations.

Looking for something to work on? The up for grabs issues are a great place to start. Take a look at our documentation to find out about the architecture and learn how to build and test the repo.

This project follows the .NET Core Contribution Guidelines.

Join the chat at https://gitter.im/dotnet/corert

Reporting security issues and security bugs

Security issues and bugs should be reported privately, via email, to the Microsoft Security Response Center (MSRC) secure@microsoft.com. You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Further information, including the MSRC PGP key, can be found in the Security TechCenter.

License

The CoreRT Repo is licensed under the MIT license.

.NET Foundation

CoreRT is a .NET Foundation project.

This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information, see the .NET Foundation Code of Conduct.

There are many .NET related projects on GitHub.

Build Status

Ubuntu 14.04 Windows Mac OS X
Debug Build status Build status Build Status
Release Build status Build status Build Status