Commit Graph

796 Commits

Author SHA1 Message Date
Damian Mooyman
69d888b5d1 FIXED: Issue with test reporting not correctly presenting errors that prevent test execution.
In the case of errors arising during setUp or setUpOnce a unit test will fail to run any individual tests. However, this situation was incorrectly being reported as a test pass (as no tests were run, thus no tests had errors). E.g. the output of a test run that raised an error during setUp would be "0 tests run: 0 passes, 0 failures, and 0 incomplete" with a green background.

To rectify this the following fixes were made:
- Non-cleanly ended tests and test suites are now automatically ended at the end of the test run, as well as at the beginning of subsequent test/suites. This should make catching of errors a lot more robust.
- Errors raised during setup are now no longer lost to the mist of time. The test suite itself will record any error status which was generated outside the scope of any individual tests.
- An additional "errors" count is added to the output at the end of test running. For example, in the case where setup failed and no tests could be run the error would be written to the browser (along with stacktrace) with a message similar to "0 tests run: 0 passes, 0 failures, and 0 incomplete with 1 errors". The intent of this is to separate the concepts of failed/succeeded/incomplete tests from any errors which may have arisen. I.e. no tests "failed" due to the error, but the test run itself is highlighted as an error (red background on the output).

This problem has been a severe cause of issue when testing code that interacts with the database, as any database error during setup would refuse to be shown.
2012-09-19 12:25:58 +12:00
Ingo Schommer
1088d044c5 Merge remote-tracking branch 'origin/3.0'
Conflicts:
	.travis.yml
2012-09-07 17:21:41 +02:00
Andrew O'Neil
3fd4f7e855 BUGFIX: Fix loading of fixtures not specified in $fixtures array 2012-09-05 14:26:43 +12:00
Saophalkun Ponlu
60987acbdb Various minor visual enhancements for Sapphire test report 2012-09-01 11:58:52 +12:00
Sam Minnee
824afffd2e Merge branch '3.0' 2012-08-23 12:39:41 +12:00
Naomi Guyer
69182c21ce BUG: Installer implies empty template used in tutorial
Have reworded the template options so that installers know that the
simple template is used for the tutorial
2012-08-22 13:42:53 +12:00
Ingo Schommer
4cc82e906b Merge remote-tracking branch 'origin/3.0' 2012-08-20 10:13:55 +02:00
Sam Minnée
31d6070bb5 Merge pull request #720 from phptek/XHR-Installer-BUG
BUGFIX: Installer failed complaining about rewrite server-capability: XH...
2012-08-16 18:39:19 -07:00
jakr
c2414aa7dd API Debug::showError() no longer calls exit() (fixes #2644)
Remove exit() from showError to continue execution after an user_error of warning (warningHandler) or notice (noticeHandler) level.
2012-08-16 22:58:55 +02:00
Russell Michell
3ca24a89e9 BUGFIX: Installer failed complaining about rewrite server-capability: XHR response was 3 chars long and therefore !== "OK"
MINOR: Added charset <meta> declaration to prevent errors cluttering up browser-based debugger console output
2012-08-15 13:42:54 +12:00
Ingo Schommer
4eef8e32bd Merge branch '3.0' 2012-08-09 11:51:26 +02:00
Ingo Schommer
68855a209a Guard against double inclusion of phpunit
While a hack, it fixes problems with our build infrastructure,
specifically i18nTextCollectorTask complaining about
double class definition.
2012-08-09 11:51:17 +02:00
Ingo Schommer
fb7008627c Merge remote-tracking branch 'origin/3.0' 2012-08-09 10:47:44 +02:00
Michał Ochman
1432a8e8a1 NEW create TestRunner setdb URL endpoint 2012-08-08 10:46:53 +02:00
Ingo Schommer
342f076f62 Revert "NEW add selectsession URL endpoint"
This reverts commit 766b03f360.
Accidentally pushed from local working copy.
2012-08-08 10:20:36 +02:00
Michał Ochman
766b03f360 NEW add selectsession URL endpoint
This endpoint should be passed a testSessionKey POST parameter.
testSessionKey is an indicator for /tmp/testsessions/<testSessionKey>
file which stores temp database config.

https://github.com/michalochman/SilverStripe-Behaviour-Testing-Framework/issues/27
2012-08-07 09:14:28 +02:00
Ingo Schommer
3ae8b0b665 Merge remote-tracking branch 'origin/3.0' 2012-07-18 15:00:06 +02:00
Simon Elvery
dbc862e784 BUG Attempt to create log path before writing file
Attempt to create the path a log file will be written to before blindly
attempting to write the file. This makes dynamically named log paths
(i.e. rotation by date) possible.
2012-07-17 12:18:35 +10:00
Ingo Schommer
712f28bc78 Scoped deprecation messages (fixes #7645) 2012-07-13 11:37:35 +02:00
Ingo Schommer
64669938da Warning when running tests without flush=1
This is now the default setting for both "sake" and "phpunit"
runs, because of performance reasons (every manifest flush takes
multiple seconds). On the other hand, we want to make errors
like missing classes more obvious to developers.
See discussion in https://github.com/silverstripe/sapphire/pull/620
2012-07-06 12:01:21 +02:00
Ingo Schommer
e00c87541e Merge pull request #618 from chillu/pull/deprecate-profiler
API Deprecated Profiler class, removed related debug GET params
2012-07-05 13:43:37 -07:00
Ingo Schommer
64357a4522 Merge branch '3.0'
Conflicts:
	admin/css/screen.css
	admin/scss/_forms.scss
	docs/en/changelogs/3.0.0.md
2012-07-05 18:01:09 +02:00
Ingo Schommer
0fe515e182 API Deprecated Profiler class, removed related debug GET params
Use third party tools like XHProf instead.
Removed defunct or unnecessary debug GET parameters:
debug_profile, debug_memory, profile_trace, debug_javascript, debug_behaviour
2012-07-05 12:02:06 +02:00
Ingo Schommer
9f0cfe00b6 Merge branch 'gsoc-22-yamlfixture-import-string-rc' of https://github.com/michalochman/sapphire into michalochman-gsoc-22-yamlfixture-import-string-rc 2012-06-29 14:34:17 +02:00
Sam Minnée
c07d4ec95e Merge pull request #590 from willrossi/errorheaders
FIX: exclude error string in headers to prevent white screen display.
2012-06-29 00:51:36 -07:00
Will Rossiter
48408d323a FIX: exclude error string in headers to prevent white screen display. 2012-06-29 18:14:14 +12:00
Will Rossiter
0910a651d5 FIX: restore and update style for DevelopmentAdmin. 2012-06-29 16:52:36 +12:00
Michał Ochman
c282190299 ENHANCEMENT Add YamlFixture String argument support
Enhanced YamlFixtureTest to cover this addition.
2012-06-29 00:33:00 +02:00
Sam Minnee
2598f6596d NEW: Enable display_errors = on in the installer to assist with diagnosis.
Installation problems often come down to a 'white screen of death' either during installation or after it.  The WSOD is generally caused by a PHP error that isn't picked up by SilverStripe's error handler.  This change fixes the first of those.

As a bigger fix, I'd like to see us allow the installation of sites in dev mode, the enabling of display_errors=on in dev mode, and perhaps even the ability to easily perform an initial installation in dev mode before switching to live mode.  However, that's a bigger change for another time.
2012-06-27 09:44:44 +12:00
Ingo Schommer
6af3b076be MINOR Fixed phpdocs 2012-06-20 23:59:57 +02:00
Ingo Schommer
3a7128d00c MINOR Fixed phpdocs 2012-06-20 23:59:16 +02:00
Will Rossiter
eb2a0427cc MINOR: exclude functional tests when running just framework module tests 2012-06-20 16:27:57 +02:00
Will Rossiter
525707f3a7 MINOR: exclude functional tests when running just framework module tests 2012-06-20 16:16:55 +02:00
Sean Harvey
105986392b BUGFIX Supress mkdir() when attempting to create a temp folder, instead
of the variable. This gives a nicer error in the installer.
2012-06-15 11:48:42 +12:00
Sam Minnee
114ebb6953 API CHANGE: Don't have any instance caching in singleton(), rely on Injector for this. 2012-06-11 22:41:12 +12:00
Ingo Schommer
e643559b17 MINOR Warning about HTML5 compat in CSSContentParser 2012-06-05 11:38:27 +02:00
Marcus Nyeholt
82a1e7d282 MINOR Use injector for creating Member_GroupSet object
MINOR Use injector for creating many many list objects

MINOR Use injector for creating objects from within the DataList

MINOR Use Injector::inst() for creating objects; cannot rely on this->injector being present due to many classes being created with 'new', so use inst() directly

MINOR Remove injector autoset property for now; automatically setting it breaks a few test cases that don't know about it for now, and it's not needed just yet
2012-06-05 01:33:44 +10:00
Sam Minnee
f3467a3337 MINOR: Added test listeners to support TeamCity/PHPUnit executions. 2012-05-28 18:31:48 +12:00
Sam Minnee
fb48ec54f4 BUGFIX: Fixed unreliability in SapphireTest::getCurrentAbsolutePath() 2012-05-28 14:25:34 +12:00
Sean Harvey
b325fea709 MINOR Fixing "No current controller available" error when TestSession::__destruct() is called 2012-05-24 16:41:29 +12:00
Sam Minnée
c5616f8724 Merge pull request #487 from nyeholt/injector_bugfixes
Change singleton and strong_create to use dependency injector, with additional fixes to existing classes to behave correctly
2012-05-23 18:46:48 -07:00
Marcus Nyeholt
82495f5a7e BUGFIX Versioned's constructor doesn't provide suitable defaults. Previously a bug/feature in singleton, where it would pass null,true as params to strong_create, which would then get passed through as params to Versioned's constructor, meant that the code still executed fine (as was set to something that wasn't an array, so the null and true were instead taken as args). The fact that the usage of singleton(Versioned) never really used the classes code, purely for value lookup, meant that this never propagated errors. I've now switched singleton() to use the injector for retrieving values, which means these dud values are no longer passed through
CHANGE Given that Config::inst is an implementation of the singleton pattern itself, I've removed the extra call to singleton(). A side effect of this is that it gets around a possibly nasty circular reference with the dependency injector (which relies on the config object); in future, this dependency structure should really be structured from the DI directly.

MINOR Change singleton and strong_create to use dependency injector

BUGFIX: Provide default constructor values for classes (fixes issues when used in 'singleton' scenario during dev/build in particular)

MINOR Clear out injector state when resetting db schema during tests (a follow on from changing singleton() calls to use the injector underneath)
2012-05-23 21:10:04 +10:00
Sean Harvey
77c2365b87 MINOR Replacing deprecated static function calls to Director with
current Controller instance replacements.
2012-05-23 21:50:02 +12:00
Sean Harvey
aaf91154a2 BUGFIX If there is *any* error connecting to MySQL, expose this to the installer. 2012-05-19 11:29:25 +12:00
Sean Harvey
b65dff0fbe BUGFIX Allowing actions related to coverage tests 2012-05-18 16:05:05 +12:00
Ingo Schommer
eeef41e91f SECURITY Fixed remote code execution vuln in install.php due to inserting unescaped user data into mysite/_config.php. Not critical because install.php is required to be removed on a SilverStripe installation anyway (fixes #7205) 2012-05-16 14:59:42 +02:00
Sean Harvey
e095950a50 BUGFIX Installer checks: warn if finfo class not available, re-instating hash check, and remove duplicate iconv check. 2012-05-14 14:18:49 +12:00
Sean Harvey
20a51d6572 MINOR Ensure finfo class exists in installer checks, we need it for MIME
type detection of files.
2012-05-12 10:17:53 +12:00
Sean Harvey
01f8e38eee MINOR Using correct URL for tutorial in installer 2012-05-11 14:51:23 +12:00
Sean Harvey
b1e17578c7 API CHANGE Removed assertType() and assertEmpty() workarounds. Use assertInstanceOf()
instead of assertType(), assertEmpty() is available in PHPUnit 3.5+.
PHPUnit 3.4 is no longer supported, so please upgrade your version to
work.

MINOR Removed FullTestSuite which was a workaround for PHPUnit but not
used.
2012-05-09 23:05:39 +12:00
Ingo Schommer
1671b9c65c BUGFIX Checking for mbstring PHP extension support in installer, as it has been a documented installation requirement for a while. Removing method_exists() checks from mbstring usage in core for the same reasons 2012-05-09 10:25:31 +02:00
Sean Harvey
5bce3425b4 Merge pull request #401 from chillu/is-absolute-url
Director::is_absolute_url() security fixes
2012-05-07 18:47:03 -07:00
Sean Harvey
4e18cc581b BUGFIX Ensure MySQLi is used consistently in MySQLDatabaseConfigurationHelper, not old mysql functions 2012-05-05 11:22:28 +12:00
Ingo Schommer
1f7f8b8aee BUGFIX Don't' set 'Referer' header in FunctionalTest->get()/post() if its explicitly passed to the method 2012-05-04 11:49:30 +02:00
Ingo Schommer
e929753992 MINOR Using correct $locale format in installer (regression from last commit) 2012-05-03 00:00:51 +02:00
Ingo Schommer
0068b6d5b6 BUGFIX Showing only actually available languages for selection during install (fixes #7260) 2012-05-02 23:35:20 +02:00
Andrew O'Neil
fa60f9e8b2 ENHANCEMENT: Implement blowfish encryption and use it by default. (#7111) 2012-05-02 13:51:29 +12:00
Sean Harvey
3ccaa1f864 MINOR Supress any error connecting to the database so the installer
doesn't show it in the page header
2012-04-30 11:15:21 +12:00
Sean Harvey
32d4ec837c Merge pull request #374 from oddnoc/installer-email-password-feedback
BUGFIX: Start a PHP session in installer.
2012-04-27 21:49:38 -07:00
Sean Harvey
b03cf04dbd BUGFIX Updating MySQLDatabaseConfigurationHelper to check for MySQLi
instead of mysql_connect and other old function usage, as we've moved to
MySQLi in MySQLDatabase.php now
2012-04-28 12:13:58 +12:00
Fred Condo
b8228271e6 BUGFIX: Start a PHP session in installer.
This fixes blank username and password on home/successfullyinstalled
2012-04-27 16:51:47 -07:00
Fred Condo
df6a249bf0 BUGFIX: Change requirement rubrics to remove confusion
Resolves #7199

Change all the rubrics to be nouns or questions, rather than a statement of
the desired setting. If the setting is correct, we get a nice green OK; if
not, it was confusing for the rubric to state the opposite of the failure
mode, which is described in the long message.
2012-04-26 15:04:07 -07:00
Sean Harvey
bda849afeb BUGFIX Check for SimpleXML support in PHP at the installation step 2012-04-22 22:43:06 +12:00
Sean Harvey
cc339c37c4 BUGFIX Ensure the SS3 installer checks for CType support in PHP, as language YAML parser uses this in framework. 2012-04-22 17:45:56 +12:00
Sean Harvey
c55e0b8b95 MINOR Fixing up PHP versions to be consistent with
33ae83640b
2012-04-20 15:08:01 +12:00
Sam Minnee
33ae83640b MINOR: Lowered 5.3.10 recommendation to 5.3.4 2012-04-20 14:45:57 +12:00
Sean Harvey
16e950cb6a MINOR Tidy up of code formatting in TestRunner
MINOR Fixing up old ObjectStaticTest and merging into ConfigTest
2012-04-18 23:29:54 +12:00
Sean Harvey
4c6be2931b BUGFIX Removing use of deprecated Object static functions like
get_static(), set_static(), uninherited() etc. Replace with equivalent
Config system get(), update()
2012-04-18 23:10:57 +12:00
Mateusz Uzdowski
e262a29193 ENHANCEMENT: move code introspection functions to the silverstripe-codeviz module 2012-04-17 14:45:26 +12:00
Sean Harvey
69c066cb2c Merge pull request #332 from mateusz/strict
BUGFIX: fix up some E_STRICT errors
2012-04-16 16:59:29 -07:00
Mateusz Uzdowski
59663f9289 BUGFIX: fix up some E_STRICT errors 2012-04-17 11:51:55 +12:00
Will Rossiter
7a4392ca03 Merge pull request #324 from halkyon/installer_fixes
MINOR: Fix install not loading because of Zend/Translate.php dependency in i18n.php
2012-04-16 16:34:53 -07:00
Sean Harvey
5f73643e3f BUGFIX Hardcoding locales in installer, because we can't include i18n
properly, and including core/Core.php is too much.
2012-04-17 11:02:18 +12:00
Sean Harvey
ad2a21cc92 API CHANGE getSysTempDir() is now deprecated, use sys_get_temp_dir()
instead!
2012-04-17 10:53:41 +12:00
Sean Harvey
dc0031cf26 BUGFIX Fixed broken installer trying to include i18n thirdparty Zend
libs, which depends on Core.php being included first because include
paths are setup there first. This has the effect of removing redundant
code in the installer like temp path discovery, as Core takes care of
that for us.
2012-04-17 10:53:40 +12:00
Sean Harvey
d0984ec897 MINOR Line break after sentence of message 2012-04-17 10:53:40 +12:00
Sean Harvey
bbf04ee7ea MINOR Removed function_exists() checks which aren't necessary for PHP 5.2+ 2012-04-16 13:15:41 +12:00
Sean Harvey
ebe75fefab MINOR Update locations to server requirements page 2012-04-15 16:29:14 +12:00
Sean Harvey
515a2ccfcc MINOR Updating old URLs in installer, show message about creating admin
account
2012-04-15 16:01:06 +12:00
Sean Harvey
e71b8d6215 MINOR Installer cleanups, removing references to old "command line
installation" which is no longer supported.
MINOR Removed stray semi-colon when showing version in installer
template.
2012-04-15 15:05:20 +12:00
Sean Harvey
6405c44bc2 MINOR Enable the highest level of error_reporting() in install, to be
consistent with Core.php
2012-04-15 10:50:20 +12:00
Simon Welsh
f07258f3cf MINOR Update @package values to match renaming sapphire 2012-04-15 10:50:19 +12:00
Simon Welsh
3a6341a251 API-CHANGE sapphire folder can now be renamed. 2012-04-15 10:50:19 +12:00
Simon Welsh
f8082e4814 MINOR Add newline to end of files without one 2012-04-15 10:50:19 +12:00
Sean Harvey
f57a763524 MINOR Ensure incomplete tests also have a backtrace 2012-04-15 00:26:17 +12:00
Sean Harvey
ce097a7b54 ENHANCEMENT If there are no test failures, but incomplete tests, mark
summary of test run as "ok but incomplete" in yellow for CliTestReporter
2012-04-15 00:07:15 +12:00
Sean Harvey
edaed5ef7e BUGFIX If SS_Backtrace::get_rendered_backtrace() has $plainText argument
to TRUE, ensure there is no HTML in the output.
2012-04-15 00:05:49 +12:00
Sean Harvey
fc18b2c788 ENHANCEMENT TestReporter now reports incomplete tests properly 2012-04-14 23:11:54 +12:00
Will Rossiter
907568b182 ENHANCEMENT: move hard coded template HTML for composite field and field group out to separate template files. 2012-04-14 17:36:08 +12:00
Robert Curry
8b0dafb30d ENHANCEMENT: Change PHP version requirements. Part of #7131. 2012-04-13 13:12:48 +12:00
Mateusz Uzdowski
5186a0cea3 BUGFIX: remove unnecessary setComponent call - no longer used (os6175) 2012-04-12 17:04:24 +12:00
Ingo Schommer
a3d99b082d MINOR Resetting Security::$database_is_ready state during tests (regression from a9509a610d) 2012-04-11 17:22:55 +02:00
Ingo Schommer
ca24120a5e MINOR Install screen visual tweaks, more visible disabled state on install button, conditional version number (to avoid it showing without a version), referencing new theme in install screen, using new layout in install progress screen as well 2012-04-11 16:49:31 +02:00
Ingo Schommer
ac45e5b9c0 Merge branch 'integration'
Conflicts:
	admin/css/ie8.css
	admin/css/screen.css
	admin/scss/_style.scss
	dev/install/config-form.html
	dev/install/install.css
	dev/install/php5-required.html
2012-04-11 16:31:12 +02:00
Ingo Schommer
6cd91ff449 Merge pull request #299 from ajoneil/sapphire
---

Conflicts:
	forms/NumericField.php
2012-04-11 15:36:35 +02:00
Paul Clarke
4f23ac1722 ENHANCEMENT Installer styling, moving away from blackcandy 2012-04-11 22:51:10 +12:00
Andrew O'Neil
c5aa074bff BUGFIX: Fix E_STRICT errors not being reported 2012-04-11 14:39:02 +12:00
Ingo Schommer
8c5e56fe31 Merge branch 'master' into integration
Conflicts:
	admin/css/screen.css
	dev/install/php5-required.html
2012-04-09 21:10:08 +02:00
Jeremy Bridson
697ffb82a7 ENHANCEMENT:fixed styling on "installing SilverStripe" page. 2012-04-05 12:01:27 +12:00
Jeremy Bridson
c1f6f20114 ENHANCEMENT:added logo to header on ss3 install page - plus compass regenerated icon sprites. 2012-04-05 11:18:11 +12:00