summaryrefslogtreecommitdiff
path: root/Documentation/project-docs
diff options
context:
space:
mode:
authorKoundinya Veluri <kouvel@microsoft.com>2015-09-30 12:20:52 -0700
committerBryan P. Arant <bryanar@microsoft.com>2015-10-15 03:15:54 +0000
commit4cf34fe7988ad04eaa7f699a5d0faea8a8394f95 (patch)
tree29cc1fd9de029a9b8a1c0e2f7e57e5a3e568667a /Documentation/project-docs
parent06579986abb889d2a509be7e2c6370b4fa363fd6 (diff)
downloadcoreclr-4cf34fe7988ad04eaa7f699a5d0faea8a8394f95.tar.gz
coreclr-4cf34fe7988ad04eaa7f699a5d0faea8a8394f95.tar.bz2
coreclr-4cf34fe7988ad04eaa7f699a5d0faea8a8394f95.zip
Changes to Test Infrastructure
The following changes are being submitted in order to prepare for a large collection of tests to be ported from the internal legacy test tree. - Adds "build kinds" to the test tree. - Adds some documentation for the test tree - Adds a Test Priority feature (see documentation Documentation/project-docs/tests.md for more information. - Dropped the cs_template.csproj types and converted to individual CSProject files.
Diffstat (limited to 'Documentation/project-docs')
-rw-r--r--Documentation/project-docs/tests.md41
1 files changed, 41 insertions, 0 deletions
diff --git a/Documentation/project-docs/tests.md b/Documentation/project-docs/tests.md
new file mode 100644
index 0000000000..a1e67a6fef
--- /dev/null
+++ b/Documentation/project-docs/tests.md
@@ -0,0 +1,41 @@
+## General Test Infrastructure Notes ##
+
+### Kinds of Build Properties ###
+* Build Only
+> `<CLRTestKind>BuildOnly</CLRTestKind>`
+
+ * Builds an executable.
+ * Will not execute it.
+
+* Run Only
+> `<CLRTestKind>RunOnly</CLRTestKind>`
+
+ * Will only execute another assembly.
+* Build and Run
+> `<CLRTestKind>BuildAndRun</CLRTestKind>`
+
+ * Builds an executable.
+ * Will execute said executable.
+* Shared Libraries
+> `<CLRTestKind>SharedLibrary</CLRTestKind>`
+
+ * For building libraries common to zero or more tests.
+
+
+By default (i.e. if not specified explicitly) a project file is BuildAndRun.
+
+### Priority ###
+Testcases are categorized by their priority levels. The most important subset should be and is the smallest subset. This subset is called priority 0.
+ * By default, a testcase is priority 0. You must elect to de-prioritize a test.
+ * To de-prioritize a test, add a property _CLRTestPriority_ to the test's project file.
+> `<CLRTestPriority>2</CLRTestPriority>`
+ * Lower priority values are always run in conjunction when running higher priority value tests. I.e. if a developer elects to do a priority 2 test run, then all priority 0, 1 and 2 tests are run.
+
+### Adding Tests ###
+#### Converting an existing C# project ####
+ * Remove AssemblyName
+ * Swap in dir.props
+ * Swap in dir.targets
+ * Assign a CLRTestKind
+ * (optional) Assign a priority value
+