Tue, 30 Jun 2015 15:06:36 +0200 [test] Fix unittest_i18n to run properly with "pytest -t" (closes #5576169)
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 30 Jun 2015 15:06:36 +0200] rev 10464
[test] Fix unittest_i18n to run properly with "pytest -t" (closes #5576169) When running "pytest -t", many tests modules will be imported and run within a single python process. unittest_i18n fails when run after tests such as unittest_webtest.py or unittest_httptest.py. The main reason is that unittest_i18n does various tricks to add a test cube to the search path, which badly fails when a previous test module has already loaded "stuff" (for lack of a better word). Instead, let's just call the 'i18ncube' command with subprocess. The change from logilab.common.testlib to unittest is not directly needed, but comes as a free cleanup with the above changes.
Mon, 29 Jun 2015 16:58:43 +0200 [server/test] fix random error in unittest_security
Julien Cristau <julien.cristau@logilab.fr> [Mon, 29 Jun 2015 16:58:43 +0200] rev 10463
[server/test] fix random error in unittest_security When entering a new Connection, we cache the user and its 'login' attribute (with no permissions checking). This test makes 'CWUser.login' unreadable by guests, and then proceeds to make sure the 'anon' user can actually not read any 'login' attribute. However, due to the above cnx initialization, anon's login is actually cached, hence readable. This happens to make the test fail sometimes depending on the order in which CWUser entities are returned, because one of them has .complete() called, which as a side effect sets the attribute cache to None for unreadable attributes. Call .complete() on both entities to reset the login cache. While this is still highly debatable, at least it's consistent.
Mon, 29 Jun 2015 16:41:36 +0200 [entity] fix typo in comment
Julien Cristau <julien.cristau@logilab.fr> [Mon, 29 Jun 2015 16:41:36 +0200] rev 10462
[entity] fix typo in comment
Fri, 26 Jun 2015 16:10:33 +0200 [doc] Add a tutorial and extend documentation for ExtEntityImporter
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 26 Jun 2015 16:10:33 +0200] rev 10461
[doc] Add a tutorial and extend documentation for ExtEntityImporter Related to #5414753.
Fri, 26 Jun 2015 16:09:27 +0200 [dataimport] introduce the importer and extentity classes
Yann Voté <yann.vote@logilab.fr> [Fri, 26 Jun 2015 16:09:27 +0200] rev 10460
[dataimport] introduce the importer and extentity classes This introduces the ``ExtEntity`` class which is a transitional state between data at external source and the actual CubicWeb entities. ``ExtEntitiesImporter`` is then in charge to turn a bunch of ext entities into CW entities in repository, using a given store. This changeset also introduces ``SimpleImportLog`` and ``HTMLImportLog`` which implement the CW DataImportLog interface in order to show log messages in UI using simple text and HTML formats respectively, instead of storing these messages in database. Both have mostly been backported from cubes.skos.dataimport. Closes #5414753.
Fri, 26 Jun 2015 17:01:03 +0200 [test] Use store.prepare_insert_relation instead of deprecated relate method
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 26 Jun 2015 17:01:03 +0200] rev 10459
[test] Use store.prepare_insert_relation instead of deprecated relate method Follow-up for 1f5026e7d848. Related to #5040344.
Wed, 24 Jun 2015 23:30:47 +0200 [dataimport] since we have foreign key constraints in the database, 'entities' table should be updated first
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 24 Jun 2015 23:30:47 +0200] rev 10458
[dataimport] since we have foreign key constraints in the database, 'entities' table should be updated first
Wed, 24 Jun 2015 23:23:57 +0200 [dataimport] Move stores to new API.
Yann Voté <yann.vote@logilab.fr> [Wed, 24 Jun 2015 23:23:57 +0200] rev 10457
[dataimport] Move stores to new API. Here is the final store API: * ``prepare_insert_entity(<entity type>, **kwargs) -> eid``: given an entity type, attributes and inlined relations, return the eid of the entity to be inserted, *with no guarantee that anything has been inserted in database*, * ``prepare_update_entity(<entity type>, eid, **kwargs) -> None``: given an entity type and eid, promise for update given attributes and inlined relations *with no guarantee that anything has been inserted in database*, * ``prepare_insert_relation(eid_from, rtype, eid_to) -> None``: indicate that a relation ``rtype`` should be added between entities with eids ``eid_from`` and ``eid_to``. Similarly to ``prepare_insert_entity()``, *there is no guarantee that the relation will be inserted in database*, * ``flush() -> None``: flush any temporary data to database. May be called several times during an import, * ``finish() -> None``: additional stuff to do after import is terminated. **Warning:** ``prepare_update_entity()`` still needs to be implemented for NoHookRQLObjectStore. Related to #5040344
Tue, 23 Jun 2015 13:08:48 +0200 [js] Using appropriate http method when calling a remote function to respect REST principles.
Rabah Meradi <rabah.meradi@logilab.fr> [Tue, 23 Jun 2015 13:08:48 +0200] rev 10456
[js] Using appropriate http method when calling a remote function to respect REST principles. closes #5355952
Tue, 06 May 2014 10:28:23 +0200 [server/test] Add a test for db-statement-timeout option
Julien Cristau <julien.cristau@logilab.fr> [Tue, 06 May 2014 10:28:23 +0200] rev 10455
[server/test] Add a test for db-statement-timeout option Sadly I don't think there's a way to test that functionality without adding sleeps which make the test suite longer :/ Related to #2547026
Wed, 05 Mar 2014 13:51:28 +0100 [datafeed] give an error message if a source is missing a parser id
Julien Cristau <julien.cristau@logilab.fr> [Wed, 05 Mar 2014 13:51:28 +0100] rev 10454
[datafeed] give an error message if a source is missing a parser id Closes #3484231
Mon, 23 Jun 2014 16:54:35 +0200 [storage] use mkstemp to create files in bfss
Julien Cristau <julien.cristau@logilab.fr> [Mon, 23 Jun 2014 16:54:35 +0200] rev 10453
[storage] use mkstemp to create files in bfss Avoids race condition, at the cost of slightly less predictable file names.
Thu, 11 Jun 2015 09:51:30 +0200 [test] Skip spa2rql tests when fyzz is not available
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 11 Jun 2015 09:51:30 +0200] rev 10452
[test] Skip spa2rql tests when fyzz is not available Closes #5456750.
Tue, 23 Jun 2015 18:10:45 +0200 [web/staticcontrollers] fix docstring spelling
Julien Cristau <julien.cristau@logilab.fr> [Tue, 23 Jun 2015 18:10:45 +0200] rev 10451
[web/staticcontrollers] fix docstring spelling
Tue, 23 Jun 2015 15:50:18 +0200 [server/rql2sql] fix spelling in comment
Julien Cristau <julien.cristau@logilab.fr> [Tue, 23 Jun 2015 15:50:18 +0200] rev 10450
[server/rql2sql] fix spelling in comment Not that I understand what that sentence means.
Tue, 23 Jun 2015 15:17:31 +0200 [doc/book] fix rql syntax examples
Julien Cristau <julien.cristau@logilab.fr> [Tue, 23 Jun 2015 15:17:31 +0200] rev 10449
[doc/book] fix rql syntax examples "Any", not "ANY". "EXISTS" is a function.
Fri, 15 May 2015 23:05:54 +0200 [migration] add sql constraints on upgrade
Julien Cristau <julien.cristau@logilab.fr> [Fri, 15 May 2015 23:05:54 +0200] rev 10448
[migration] add sql constraints on upgrade Related to #5154406.
Sun, 22 Mar 2015 19:10:13 +0100 [schema] neuter check method for constraints we implement in sql
Julien Cristau <julien.cristau@logilab.fr> [Sun, 22 Mar 2015 19:10:13 +0100] rev 10447
[schema] neuter check method for constraints we implement in sql Closes #5154406.
Sun, 22 Mar 2015 23:27:13 +0100 add IUserFriendlyError adapter for violation of check constraints
Julien Cristau <julien.cristau@logilab.fr> [Sun, 22 Mar 2015 23:27:13 +0100] rev 10446
add IUserFriendlyError adapter for violation of check constraints This way we get back the same error messages we get from the python check. Related to #5154406
Mon, 18 May 2015 19:47:34 +0200 [hooks/syncschema] drop/add check constraints as appropriate
Julien Cristau <julien.cristau@logilab.fr> [Mon, 18 May 2015 19:47:34 +0200] rev 10445
[hooks/syncschema] drop/add check constraints as appropriate Related to #5154406
Sun, 22 Mar 2015 19:39:29 +0100 [schema2sql] support NOW and TODAY in check constraints
Julien Cristau <julien.cristau@logilab.fr> [Sun, 22 Mar 2015 19:39:29 +0100] rev 10444
[schema2sql] support NOW and TODAY in check constraints Related to #5154406.
Mon, 18 May 2015 11:36:07 +0200 [schema2sql] insert some constraints into the backend
Julien Cristau <julien.cristau@logilab.fr> [Mon, 18 May 2015 11:36:07 +0200] rev 10443
[schema2sql] insert some constraints into the backend BoundaryConstraint, IntervalBoundConstraint and StaticVocabularyConstraint can be implemented in SQL with CHECK constraints. Next steps, not part of this changeset: - migrations - removing no longer necessary pre-insertion work on the python side - translating backend exception due to constraint violation into ValidationError Note: this means that these constraints can no longer be ignored by disabling integrity hooks. Related to #5154406
Tue, 23 Jun 2015 10:05:34 +0200 [test] run unittest_syncschema with postgresql
Julien Cristau <julien.cristau@logilab.fr> [Tue, 23 Jun 2015 10:05:34 +0200] rev 10442
[test] run unittest_syncschema with postgresql Lets us test more things, since we can actually do ALTER TABLE.
Fri, 15 May 2015 18:11:08 +0200 [test] run unittest_migractions on postgresql
Julien Cristau <julien.cristau@logilab.fr> [Fri, 15 May 2015 18:11:08 +0200] rev 10441
[test] run unittest_migractions on postgresql sqlite's lack of support for a bunch of alter table functionality means some thing just don't get tested otherwise.
Tue, 23 Jun 2015 10:26:03 +0200 [devtools] Put pg sockets in /tmp
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 23 Jun 2015 10:26:03 +0200] rev 10440
[devtools] Put pg sockets in /tmp Makes for shorter paths (limited by sockaddr_un). Also use the default port, since we're not listening on TCP sockets.
Mon, 18 May 2015 16:44:49 +0200 [devtools] change the way we start/stop postgresql
Julien Cristau <julien.cristau@logilab.fr> [Mon, 18 May 2015 16:44:49 +0200] rev 10439
[devtools] change the way we start/stop postgresql Instead of having the test db handler start a cluster on demand, use the test module's setUp/tearDown callbacks to do it. This allows to have one data directory (and thus cluster) per test module, allowing different test modules to run in parallel, each using its own database cluster whose path is based on the test module.
Mon, 18 May 2015 16:36:26 +0200 [devtools] make test db name for postgresql process-specific
Julien Cristau <julien.cristau@logilab.fr> [Mon, 18 May 2015 16:36:26 +0200] rev 10438
[devtools] make test db name for postgresql process-specific In case we run two tests concurrently on the same cluster, better not use the same db name for both.
Mon, 18 May 2015 16:30:32 +0200 [devtools] extract functions to start/stop a postgresql cluster
Julien Cristau <julien.cristau@logilab.fr> [Mon, 18 May 2015 16:30:32 +0200] rev 10437
[devtools] extract functions to start/stop a postgresql cluster
Mon, 18 May 2015 20:00:06 +0200 [test] don't leave NULL columns around when making an attribute required
Julien Cristau <julien.cristau@logilab.fr> [Mon, 18 May 2015 20:00:06 +0200] rev 10436
[test] don't leave NULL columns around when making an attribute required It doesn't matter on sqlite (it doesn't do ALTER COLUMN), but when running this test on postgresql it fails to add the 'NOT NULL' constraint otherwise.
Tue, 23 Jun 2015 10:02:41 +0200 [server/session] Roll back in connection exit
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 23 Jun 2015 10:02:41 +0200] rev 10435
[server/session] Roll back in connection exit This was changed in commit 8b35a898b334 "[server] remove cnxset tracking, it is now unneeded". When exiting a CubicWeb Connection, the database connection is put back into the common pool. At that point anything done during the lifetime of the CubicWeb Connection needs to be committed or rolled back. Do a proper rollback to finish the transaction, as was happening before the above-mentionned commit. This showed up on testing with postgresql, when a DB schema modification was blocked by an old connection that was still "in transaction".
Wed, 20 May 2015 16:13:07 +0200 [web/views/formrenderer] do not use `cubicweb:target` attribute on form (closes #5534074)
Alain Leufroy <alain.leufroy@logilab.fr> [Wed, 20 May 2015 16:13:07 +0200] rev 10434
[web/views/formrenderer] do not use `cubicweb:target` attribute on form (closes #5534074) The `cubicweb:target` is a flag indicating that the form data (with file input) shall be posted inside an iframe - this is a well known "ajax-like" workaround to post files with browsers that do not support `FormData` (a.k.a IE<10). The `cubicweb:target` was introduced when CW used the "xhtml strict" doctype. Now that CW uses the "html5" doctype, this namespaced attribute is no longer necessary and the iframe can be generated directly. Before this patch, CW inserts the `cubicweb:target` attribute in the form DOM element (server side) and `setFormsTarget()` updates the DOM with a new `<iframe>` element (client side). Now, CW inserts the `<iframe>` DOM element directly (server side), making `setFormsTarget` useless.
Fri, 25 Jul 2014 17:10:05 +0200 [js] lint : make it explicit that typeof is an operator, not a function.
Adrien Di Mascio <Adrien.DiMascio@logilab.fr> [Fri, 25 Jul 2014 17:10:05 +0200] rev 10433
[js] lint : make it explicit that typeof is an operator, not a function. Also, use === / !== except for null / undefined comparison
Thu, 21 May 2015 16:20:04 +0200 [devtools] qunit: show helpful data when an assertion fails
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 21 May 2015 16:20:04 +0200] rev 10432
[devtools] qunit: show helpful data when an assertion fails Related to #5533333.
Wed, 20 May 2015 17:25:40 +0200 [web/test] Use shorter $() instead of jQuery()
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 20 May 2015 17:25:40 +0200] rev 10431
[web/test] Use shorter $() instead of jQuery() Consistency FTW. Related to #5533333.
Wed, 20 May 2015 16:17:28 +0200 [devtools] qunit: use new async testing APIs
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 20 May 2015 16:17:28 +0200] rev 10430
[devtools] qunit: use new async testing APIs http://qunitjs.com/cookbook/#asynchronous-callbacks QUnit keeps track of all the assert.async() objects created inside the test functions and expects all done() functions to be called. Failure to do so will result in the test being failed. Unlike .start and .stop which were internal APIs, assert.async() is stricter and fails tests if assert methods are used *after* all done() functions are called (see "test callback execution order"). Related to #5533333.
Wed, 20 May 2015 15:45:43 +0200 [devtools] qunit: use new assert APIs
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 20 May 2015 15:45:43 +0200] rev 10429
[devtools] qunit: use new assert APIs test functions now accept an "assert" argument which exposes QUnit's assert methods: assert.{expect,equal,deepEqual,ok} Related to #5533333.
Wed, 20 May 2015 17:04:43 +0200 [devtools] qunit: stop using global variables
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 20 May 2015 17:04:43 +0200] rev 10428
[devtools] qunit: stop using global variables test -> QUnit.test module -> QUnit.module Related to #5533333.
Wed, 20 May 2015 15:12:58 +0200 [devtools] qunit: update to 1.18.0 (closes #5533333)
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 20 May 2015 15:12:58 +0200] rev 10427
[devtools] qunit: update to 1.18.0 (closes #5533333) * the logging API has changed (register callbacks instead of setting attributes on the QUnit object) * the logging callbacks all have a single "details" object argument * the "main" div was renamed to "qunit-fixture" (this change is responsible for all the churn in our own JS test files) * QUnit can now build the DOM elements it needs for reporting from a single "qunit" div
Wed, 20 May 2015 16:33:01 +0200 [devtools] qunit: stop using deprecated assert functions
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 20 May 2015 16:33:01 +0200] rev 10426
[devtools] qunit: stop using deprecated assert functions equals -> equal same -> deepEqual Related to #5533333.
Wed, 13 May 2015 18:39:29 +0200 [devtools] qunit: remove useless window.close()
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 18:39:29 +0200] rev 10425
[devtools] qunit: remove useless window.close() Modern browsers don't allow it anymore. Related to #5533333.
Wed, 13 May 2015 18:38:04 +0200 [devtools] qunit: refactor functions into QUnitView
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 18:38:04 +0200] rev 10424
[devtools] qunit: refactor functions into QUnitView Related to #5533333.
Wed, 13 May 2015 17:13:51 +0200 [devtools] qunit: only start firefox once per test
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 17:13:51 +0200] rev 10423
[devtools] qunit: only start firefox once per test The separate profile initialization step doesn't seem necessary anymore. This was due to the system-wide installation of the "Sage" Firefox extensions which breaks -url on a fresh profile. Removing this obnoxious extension allows us to launch Firefox in a standard way. Related to #5533333.
Wed, 13 May 2015 17:13:00 +0200 [devtools] qunit: decrease test timeout
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 17:13:00 +0200] rev 10422
[devtools] qunit: decrease test timeout Related to #5533333.
Wed, 13 May 2015 17:12:40 +0200 [devtools] qunit: increase resolution and depth of Xvfb screen
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 17:12:40 +0200] rev 10421
[devtools] qunit: increase resolution and depth of Xvfb screen Related to #5533333.
Wed, 13 May 2015 18:34:52 +0200 [web/test] Always call QUnit.ok with a message
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 18:34:52 +0200] rev 10420
[web/test] Always call QUnit.ok with a message Related to #5533333.
Wed, 13 May 2015 16:43:03 +0200 [web/test] Fix remaining JS tests (closes #5533303)
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 16:43:03 +0200] rev 10419
[web/test] Fix remaining JS tests (closes #5533303)
Wed, 13 May 2015 16:42:01 +0200 [web/test] Stop testing that exceptions raised in Deferred callbacks call errback
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 16:42:01 +0200] rev 10418
[web/test] Stop testing that exceptions raised in Deferred callbacks call errback They no longer do as of changeset 7f1f7f710b16. Related to #5533303.
Wed, 13 May 2015 16:38:28 +0200 [web/test] stop calling loadxhtml with a form.callback
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 16:38:28 +0200] rev 10417
[web/test] stop calling loadxhtml with a form.callback It was deprecated in 3.9 (changeset 7b9553a9db65) and removed in 3.18. Related to #5533303.
Wed, 13 May 2015 16:30:57 +0200 [web/test] Fix reset of loaded JS/CSS files
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 16:30:57 +0200] rev 10416
[web/test] Fix reset of loaded JS/CSS files Name changed in commit ede740bd7077. Related to #5533303.
Wed, 13 May 2015 16:27:46 +0200 [web/test] Use proper JSON syntax
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 16:27:46 +0200] rev 10415
[web/test] Use proper JSON syntax Related to #5533303.
Wed, 13 May 2015 16:27:12 +0200 [web/test] Update mock ajax reply from "render" ajaxfunc
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 16:27:12 +0200] rev 10414
[web/test] Update mock ajax reply from "render" ajaxfunc CubicWeb transforms add_js() calls in AJAX context to <cubicweb:script> tags since ede740bd7077 and cd5738fc440f. Related to #5533303.
Wed, 13 May 2015 17:49:40 +0200 [devtools] Serve JS tests over HTTP (closes #5533285)
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 17:49:40 +0200] rev 10413
[devtools] Serve JS tests over HTTP (closes #5533285) Instead of mixing file:// URLs with XHR.
Wed, 13 May 2015 15:58:21 +0200 [web/data] Support Deferred objects outside XHR
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 15:58:21 +0200] rev 10412
[web/data] Support Deferred objects outside XHR JS tests actually use this. Related to #5533303.
Mon, 22 Jun 2015 14:27:37 +0200 merge 3.20.8 in 3.21
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 22 Jun 2015 14:27:37 +0200] rev 10411
merge 3.20.8 in 3.21
Mon, 22 Jun 2015 14:15:16 +0200 [views] Revert previous changeset 8f05aaabf355
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 22 Jun 2015 14:15:16 +0200] rev 10410
[views] Revert previous changeset 8f05aaabf355 Breaks cubicweb/web/test/test_views.py as some views don't have a 'vid' kwarg.
Mon, 22 Jun 2015 12:51:28 +0200 Added tag 3.20.8, debian/3.20.8-1, centos/3.20.8-1 for changeset ec284980ed9e
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 22 Jun 2015 12:51:28 +0200] rev 10409
Added tag 3.20.8, debian/3.20.8-1, centos/3.20.8-1 for changeset ec284980ed9e
Mon, 22 Jun 2015 12:50:30 +0200 [pkg] Prepare 3.20.8 3.20.8 centos/3.20.8-1 debian/3.20.8-1
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 22 Jun 2015 12:50:30 +0200] rev 10408
[pkg] Prepare 3.20.8
Fri, 25 Jul 2014 16:11:46 +0200 [js] simplify cw.log implementation
Adrien Di Mascio <Adrien.DiMascio@logilab.fr> [Fri, 25 Jul 2014 16:11:46 +0200] rev 10407
[js] simplify cw.log implementation There's no need to rebuild and array and join its content, just call console.log with ``arguments``. The only trick is that console.log must be called on a console instance.
Mon, 22 Jun 2015 11:28:16 +0200 [web/views] don't force http redirect on logout
Julien Cristau <julien.cristau@logilab.fr> [Mon, 22 Jun 2015 11:28:16 +0200] rev 10406
[web/views] don't force http redirect on logout We no longer forbid anonymous browsing on https, so we can keep the same scheme when logged out. Closes #5507479.
Tue, 16 Jun 2015 00:26:55 +0200 [views/schema] extract a hardcoded css class attribute
Aurelien Campeas <aurelien.campeas@pythonian.fr> [Tue, 16 Jun 2015 00:26:55 +0200] rev 10405
[views/schema] extract a hardcoded css class attribute
(0) -10000 -3000 -1000 -300 -100 -60 +60 +100 +300 +1000 tip