launchpad-reviewers team mailing list archive
-
launchpad-reviewers team
-
Mailing list archive
-
Message #22380
[Merge] lp:~maxiberta/launchpad/app-stories-dedup-sitesearch-doctests into lp:launchpad
Maximiliano Bertacchini has proposed merging lp:~maxiberta/launchpad/app-stories-dedup-sitesearch-doctests into lp:launchpad.
Commit message:
Run lp.app.stories.launchpad_search.site-search.txt on all search backends.
Requested reviews:
Launchpad code reviewers (launchpad-reviewers)
For more details, see:
https://code.launchpad.net/~maxiberta/launchpad/app-stories-dedup-sitesearch-doctests/+merge/343244
Run lp.app.stories.launchpad_search.site-search.txt on all search backends (was lp.app.stories.launchpad_root.site-search.txt).
--
Your team Launchpad code reviewers is requested to review the proposed merge of lp:~maxiberta/launchpad/app-stories-dedup-sitesearch-doctests into lp:launchpad.
=== added directory 'lib/lp/app/stories/launchpad-search'
=== renamed file 'lib/lp/app/stories/launchpad-root/site-search.txt' => 'lib/lp/app/stories/launchpad-search/site-search.txt'
=== modified file 'lib/lp/app/tests/test_doc.py'
--- lib/lp/app/tests/test_doc.py 2011-12-30 09:16:36 +0000
+++ lib/lp/app/tests/test_doc.py 2018-04-13 21:01:49 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010 Canonical Ltd. This software is licensed under the
+# Copyright 2010-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
"""
@@ -7,8 +7,13 @@
import os
+from lp.services.features.testing import FeatureFixture
from lp.services.testing import build_test_suite
from lp.testing.layers import LaunchpadFunctionalLayer
+from lp.testing.pages import (
+ PageTestSuite,
+ setUpGlobs,
+ )
from lp.testing.systemdocs import (
LayeredDocFileSuite,
setUp,
@@ -17,6 +22,29 @@
here = os.path.dirname(os.path.realpath(__file__))
+bing_flag = FeatureFixture({'sitesearch.engine.name': 'bing'})
+google_flag = FeatureFixture({'sitesearch.engine.name': 'google'})
+
+
+def setUp_bing(test):
+ setUpGlobs(test)
+ bing_flag.setUp()
+
+
+def setUp_google(test):
+ setUpGlobs(test)
+ google_flag.setUp()
+
+
+def tearDown_bing(test):
+ bing_flag.cleanUp()
+ tearDown(test)
+
+
+def tearDown_google(test):
+ google_flag.cleanUp()
+ tearDown(test)
+
special = {
'tales.txt': LayeredDocFileSuite(
@@ -27,6 +55,21 @@
'menus.txt': LayeredDocFileSuite(
'../doc/menus.txt', layer=None,
),
+ 'stories/launchpad-search(Bing)': PageTestSuite(
+ '../stories/launchpad-search/',
+ id_extensions=['site-search.txt(Bing)'],
+ setUp=setUp_bing, tearDown=tearDown_bing,
+ ),
+ 'stories/launchpad-search(Google)': PageTestSuite(
+ '../stories/launchpad-search/',
+ id_extensions=['site-search.txt(Google)'],
+ setUp=setUp_google, tearDown=tearDown_google,
+ ),
+ # Run these doctests again with the default search engine.
+ '../stories/launchpad-search': PageTestSuite(
+ '../stories/launchpad-search/',
+ setUp=setUpGlobs, tearDown=tearDown,
+ ),
}
=== modified file 'lib/lp/services/testing/__init__.py'
--- lib/lp/services/testing/__init__.py 2011-12-30 07:08:24 +0000
+++ lib/lp/services/testing/__init__.py 2018-04-13 21:01:49 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2010 Canonical Ltd. This software is licensed under the
+# Copyright 2009-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
"""
@@ -98,11 +98,12 @@
if not os.path.isdir(full_story_dir):
continue
story_path = os.path.join(stories_dir, story_dir)
+ if story_path in special_tests:
+ continue
suite.addTest(PageTestSuite(story_path, package))
# Add the special doctests.
- for key in sorted(special_tests):
- special_suite = special_tests[key]
+ for key, special_suite in sorted(special_tests.items()):
suite.addTest(special_suite)
tests_path = os.path.join(os.path.pardir, 'doc')
=== modified file 'lib/lp/testing/pages.py'
--- lib/lp/testing/pages.py 2017-10-21 18:14:14 +0000
+++ lib/lp/testing/pages.py 2018-04-13 21:01:49 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2016 Canonical Ltd. This software is licensed under the
+# Copyright 2009-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
"""Testing infrastructure for page tests."""
@@ -845,7 +845,7 @@
# but does follow the convention of the other doctest related *Suite()
# functions.
-def PageTestSuite(storydir, package=None, setUp=setUpGlobs):
+def PageTestSuite(storydir, package=None, setUp=setUpGlobs, **kw):
"""Create a suite of page tests for files found in storydir.
:param storydir: the directory containing the page tests.
@@ -873,5 +873,5 @@
suite.addTest(LayeredDocFileSuite(
paths=paths,
package=package, checker=checker, stdout_logging=False,
- layer=PageTestLayer, setUp=setUp))
+ layer=PageTestLayer, setUp=setUp, **kw))
return suite
Follow ups