Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
die_coolen_jungs
our_own_cloud_project
Commits
b8420592
Commit
b8420592
authored
Nov 19, 2014
by
Joas Schilling
Browse files
Remove testcleanuplistener.php
parent
84d358a7
Changes
2
Hide whitespace changes
Inline
Side-by-side
tests/phpunit-autotest.xml
View file @
b8420592
...
...
@@ -39,11 +39,6 @@
</filter>
<listeners>
<listener
class=
"StartSessionListener"
file=
"startsessionlistener.php"
/>
<listener
class=
"TestCleanupListener"
file=
"testcleanuplistener.php"
>
<arguments>
<string>
detail
</string>
</arguments>
</listener>
</listeners>
</phpunit>
tests/testcleanuplistener.php
deleted
100644 → 0
View file @
84d358a7
<?php
/**
* Copyright (c) 2013 Vincent Petry <pvince81@owncloud.com>
* This file is licensed under the Affero General Public License version 3 or
* later.
* See the COPYING-README file.
*/
/**
* Detects tests that didn't clean up properly, show a warning, then clean up after them.
*/
class
TestCleanupListener
implements
PHPUnit_Framework_TestListener
{
private
$verbosity
;
public
function
__construct
(
$verbosity
=
'verbose'
)
{
$this
->
verbosity
=
$verbosity
;
}
public
function
addError
(
PHPUnit_Framework_Test
$test
,
Exception
$e
,
$time
)
{
}
public
function
addFailure
(
PHPUnit_Framework_Test
$test
,
PHPUnit_Framework_AssertionFailedError
$e
,
$time
)
{
}
public
function
addIncompleteTest
(
PHPUnit_Framework_Test
$test
,
Exception
$e
,
$time
)
{
}
public
function
addRiskyTest
(
PHPUnit_Framework_Test
$test
,
Exception
$e
,
$time
)
{
}
public
function
addSkippedTest
(
PHPUnit_Framework_Test
$test
,
Exception
$e
,
$time
)
{
}
public
function
startTest
(
PHPUnit_Framework_Test
$test
)
{
}
public
function
endTest
(
PHPUnit_Framework_Test
$test
,
$time
)
{
}
public
function
startTestSuite
(
PHPUnit_Framework_TestSuite
$suite
)
{
}
public
function
endTestSuite
(
PHPUnit_Framework_TestSuite
$suite
)
{
// don't clean up the test environment if a data provider finished
if
(
!
(
$suite
instanceof
PHPUnit_Framework_TestSuite_DataProvider
))
{
if
(
$this
->
cleanStorages
()
&&
$this
->
isShowSuiteWarning
())
{
printf
(
"TestSuite '%s': Did not clean up storages
\n
"
,
$suite
->
getName
());
}
if
(
$this
->
cleanFileCache
()
&&
$this
->
isShowSuiteWarning
())
{
printf
(
"TestSuite '%s': Did not clean up file cache
\n
"
,
$suite
->
getName
());
}
if
(
$this
->
cleanStrayDataFiles
()
&&
$this
->
isShowSuiteWarning
())
{
printf
(
"TestSuite '%s': Did not clean up data dir
\n
"
,
$suite
->
getName
());
}
if
(
$this
->
cleanStrayHooks
()
&&
$this
->
isShowSuiteWarning
())
{
printf
(
"TestSuite '%s': Did not clean up hooks
\n
"
,
$suite
->
getName
());
}
if
(
$this
->
cleanProxies
()
&&
$this
->
isShowSuiteWarning
())
{
printf
(
"TestSuite '%s': Did not clean up proxies
\n
"
,
$suite
->
getName
());
}
}
}
private
function
isShowSuiteWarning
()
{
return
$this
->
verbosity
===
'suite'
||
$this
->
verbosity
===
'detail'
;
}
private
function
isShowDetail
()
{
return
$this
->
verbosity
===
'detail'
;
}
/**
* @param string $dir
*/
private
function
unlinkDir
(
$dir
)
{
if
(
$dh
=
@
opendir
(
$dir
))
{
while
((
$file
=
readdir
(
$dh
))
!==
false
)
{
if
(
$file
===
'..'
||
$file
===
'.'
)
{
continue
;
}
$path
=
$dir
.
'/'
.
$file
;
if
(
is_dir
(
$path
))
{
$this
->
unlinkDir
(
$path
);
}
else
{
@
unlink
(
$path
);
}
}
closedir
(
$dh
);
}
@
rmdir
(
$dir
);
}
private
function
cleanStrayDataFiles
()
{
$knownEntries
=
array
(
'owncloud.log'
=>
true
,
'owncloud.db'
=>
true
,
'.ocdata'
=>
true
,
'..'
=>
true
,
'.'
=>
true
);
$datadir
=
\
OC_Config
::
getValue
(
'datadirectory'
,
\
OC
::
$SERVERROOT
.
'/data'
);
$entries
=
array
();
if
(
$dh
=
opendir
(
$datadir
))
{
while
((
$file
=
readdir
(
$dh
))
!==
false
)
{
if
(
!
isset
(
$knownEntries
[
$file
]))
{
$entries
[]
=
$file
;
}
}
closedir
(
$dh
);
}
if
(
count
(
$entries
)
>
0
)
{
foreach
(
$entries
as
$entry
)
{
$this
->
unlinkDir
(
$datadir
.
'/'
.
$entry
);
if
(
$this
->
isShowDetail
())
{
printf
(
"Stray datadir entry: %s
\n
"
,
$entry
);
}
}
return
true
;
}
return
false
;
}
private
function
cleanStorages
()
{
$sql
=
'DELETE FROM `*PREFIX*storages`'
;
$query
=
\
OC_DB
::
prepare
(
$sql
);
$result
=
$query
->
execute
();
if
(
$result
>
0
)
{
return
true
;
}
return
false
;
}
private
function
cleanFileCache
()
{
$sql
=
'DELETE FROM `*PREFIX*filecache`'
;
$query
=
\
OC_DB
::
prepare
(
$sql
);
$result
=
$query
->
execute
();
if
(
$result
>
0
)
{
return
true
;
}
return
false
;
}
private
function
cleanStrayHooks
()
{
$hasHooks
=
false
;
$hooks
=
OC_Hook
::
getHooks
();
if
(
!
$hooks
||
sizeof
(
$hooks
)
===
0
)
{
return
false
;
}
foreach
(
$hooks
as
$signalClass
=>
$signals
)
{
if
(
sizeof
(
$signals
))
{
foreach
(
$signals
as
$signalName
=>
$handlers
)
{
if
(
sizeof
(
$handlers
)
>
0
)
{
$hasHooks
=
true
;
OC_Hook
::
clear
(
$signalClass
,
$signalName
);
if
(
$this
->
isShowDetail
())
{
printf
(
"Stray hook:
\"
%s
\"
\"
%s
\"\n
"
,
$signalClass
,
$signalName
);
}
}
}
}
}
return
$hasHooks
;
}
private
function
cleanProxies
()
{
$proxies
=
OC_FileProxy
::
getProxies
();
OC_FileProxy
::
clearProxies
();
// reenable in case some test failed to reenable them
OC_FileProxy
::
$enabled
=
true
;
return
count
(
$proxies
)
>
0
;
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment