Commit Graph

738 Commits

Author SHA1 Message Date
Simon Welsh
d0153f32cf Write the test before ending it, so it still exists.
Also, switches to a constant instead of hardcoding the value.
2012-09-19 21:41:34 +12:00
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
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
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
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
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
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
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
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
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