Page Menu
Home
Sealhub
Search
Configure Global Search
Log In
Files
F12661931
ArcanistUnitTestResult.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
2 KB
Referenced Files
None
Subscribers
None
ArcanistUnitTestResult.php
View Options
<?php
/**
* Represents the outcome of running a unit test.
*
* @group unit
*/
final
class
ArcanistUnitTestResult
{
const
RESULT_PASS
=
'pass'
;
const
RESULT_FAIL
=
'fail'
;
const
RESULT_SKIP
=
'skip'
;
const
RESULT_BROKEN
=
'broken'
;
const
RESULT_UNSOUND
=
'unsound'
;
const
RESULT_POSTPONED
=
'postponed'
;
private
$namespace
;
private
$name
;
private
$link
;
private
$result
;
private
$duration
;
private
$userData
;
private
$extraData
;
private
$coverage
;
public
function
setName
(
$name
)
{
$this
->
name
=
$name
;
return
$this
;
}
public
function
getName
()
{
return
$this
->
name
;
}
public
function
setLink
(
$link
)
{
$this
->
link
=
$link
;
return
$this
;
}
public
function
getLink
()
{
return
$this
->
link
;
}
public
function
setResult
(
$result
)
{
$this
->
result
=
$result
;
return
$this
;
}
public
function
getResult
()
{
return
$this
->
result
;
}
public
function
getConsoleFormattedResult
()
{
static
$status_codes
=
array
(
self
::
RESULT_PASS
=>
'<bg:green>** PASS **</bg>'
,
self
::
RESULT_FAIL
=>
'<bg:red>** FAIL **</bg>'
,
self
::
RESULT_SKIP
=>
'<bg:yellow>** SKIP **</bg>'
,
self
::
RESULT_BROKEN
=>
'<bg:red>** BROKEN **</bg>'
,
self
::
RESULT_UNSOUND
=>
'<bg:yellow>** UNSOUND **</bg>'
,
self
::
RESULT_POSTPONED
=>
'<bg:yellow>** POSTPONED **</bg>'
,
);
return
phutil_console_format
(
$status_codes
[
$this
->
result
]);
}
public
function
setDuration
(
$duration
)
{
$this
->
duration
=
$duration
;
return
$this
;
}
public
function
getDuration
()
{
return
$this
->
duration
;
}
public
function
setUserData
(
$user_data
)
{
$this
->
userData
=
$user_data
;
return
$this
;
}
public
function
getUserData
()
{
return
$this
->
userData
;
}
/**
* "extra data" allows an implementation to store additional
* key/value metadata along with the result of the test run.
*/
public
function
setExtraData
(
array
$extra_data
=
null
)
{
$this
->
extraData
=
$extra_data
;
return
$this
;
}
public
function
getExtraData
()
{
return
$this
->
extraData
;
}
public
function
setCoverage
(
$coverage
)
{
$this
->
coverage
=
$coverage
;
return
$this
;
}
public
function
getCoverage
()
{
return
$this
->
coverage
;
}
/**
* Merge several coverage reports into a comprehensive coverage report.
*
* @param list List of coverage report strings.
* @return string Cumulative coverage report.
*/
public
static
function
mergeCoverage
(
array
$coverage
)
{
if
(
empty
(
$coverage
))
{
return
null
;
}
$base
=
reset
(
$coverage
);
foreach
(
$coverage
as
$more_coverage
)
{
$len
=
min
(
strlen
(
$base
),
strlen
(
$more_coverage
));
for
(
$ii
=
0
;
$ii
<
$len
;
$ii
++)
{
if
(
$more_coverage
[
$ii
]
==
'C'
)
{
$base
[
$ii
]
=
'C'
;
}
}
}
return
$base
;
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Fri, Nov 28, 15:49 (6 h, 11 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1080504
Default Alt Text
ArcanistUnitTestResult.php (2 KB)
Attached To
Mode
R118 Arcanist - fork
Attached
Detach File
Event Timeline
Log In to Comment