## General Test Infrastructure Notes ## ### Kinds of Build Properties ### * Build Only > `BuildOnly` * Builds an executable. * Will not execute it. * Run Only > `RunOnly` * Can use Ouput of Build and Run Project with different command line arguments. * Build and Run > `BuildAndRun` * Builds an executable. * Will execute said executable. * Shared Libraries > `SharedLibrary` * 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. > `2` * 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