Commit 5e1cc887 by Ben Patterson

Merge pull request #6825 from edx/benp/bok-choy-4shards

Introduce another bok-choy shard.
parents 76010467 73b6f3f8
...@@ -9,6 +9,7 @@ from pymongo import MongoClient ...@@ -9,6 +9,7 @@ from pymongo import MongoClient
from pytz import UTC, utc from pytz import UTC, utc
from bok_choy.promise import EmptyPromise from bok_choy.promise import EmptyPromise
from nose.plugins.attrib import attr
from .helpers import CohortTestMixin from .helpers import CohortTestMixin
from ..helpers import UniqueCourseTest, create_user_partition_json from ..helpers import UniqueCourseTest, create_user_partition_json
from xmodule.partitions.partitions import Group from xmodule.partitions.partitions import Group
...@@ -21,6 +22,7 @@ from ...pages.studio.settings_group_configurations import GroupConfigurationsPag ...@@ -21,6 +22,7 @@ from ...pages.studio.settings_group_configurations import GroupConfigurationsPag
import uuid import uuid
@attr('shard_3')
class CohortConfigurationTest(UniqueCourseTest, CohortTestMixin): class CohortConfigurationTest(UniqueCourseTest, CohortTestMixin):
""" """
Tests for cohort management on the LMS Instructor Dashboard Tests for cohort management on the LMS Instructor Dashboard
...@@ -464,6 +466,7 @@ class CohortConfigurationTest(UniqueCourseTest, CohortTestMixin): ...@@ -464,6 +466,7 @@ class CohortConfigurationTest(UniqueCourseTest, CohortTestMixin):
self.assertEquals(expected_message, messages[0]) self.assertEquals(expected_message, messages[0])
@attr('shard_3')
class CohortContentGroupAssociationTest(UniqueCourseTest, CohortTestMixin): class CohortContentGroupAssociationTest(UniqueCourseTest, CohortTestMixin):
""" """
Tests for linking between content groups and cohort in the instructor dashboard. Tests for linking between content groups and cohort in the instructor dashboard.
......
...@@ -5,6 +5,7 @@ End-to-end tests for LibraryContent block in LMS ...@@ -5,6 +5,7 @@ End-to-end tests for LibraryContent block in LMS
import ddt import ddt
import textwrap import textwrap
from nose.plugins.attrib import attr
from ..helpers import UniqueCourseTest from ..helpers import UniqueCourseTest
from ...pages.studio.auto_auth import AutoAuthPage from ...pages.studio.auto_auth import AutoAuthPage
from ...pages.studio.overview import CourseOutlinePage from ...pages.studio.overview import CourseOutlinePage
...@@ -20,6 +21,7 @@ SUBSECTION_NAME = 'Test Subsection' ...@@ -20,6 +21,7 @@ SUBSECTION_NAME = 'Test Subsection'
UNIT_NAME = 'Test Unit' UNIT_NAME = 'Test Unit'
@attr('shard_3')
class LibraryContentTestBase(UniqueCourseTest): class LibraryContentTestBase(UniqueCourseTest):
""" Base class for library content block tests """ """ Base class for library content block tests """
USERNAME = "STUDENT_TESTER" USERNAME = "STUDENT_TESTER"
...@@ -140,6 +142,7 @@ class LibraryContentTestBase(UniqueCourseTest): ...@@ -140,6 +142,7 @@ class LibraryContentTestBase(UniqueCourseTest):
@ddt.ddt @ddt.ddt
@attr('shard_3')
class LibraryContentTest(LibraryContentTestBase): class LibraryContentTest(LibraryContentTestBase):
""" """
Test courseware. Test courseware.
...@@ -191,6 +194,7 @@ class LibraryContentTest(LibraryContentTestBase): ...@@ -191,6 +194,7 @@ class LibraryContentTest(LibraryContentTestBase):
@ddt.ddt @ddt.ddt
@attr('shard_3')
class StudioLibraryContainerCapaFilterTest(LibraryContentTestBase): class StudioLibraryContainerCapaFilterTest(LibraryContentTestBase):
""" """
Test Library Content block in LMS Test Library Content block in LMS
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
Tests the "preview" selector in the LMS that allows changing between Staff, Student, and Content Groups. Tests the "preview" selector in the LMS that allows changing between Staff, Student, and Content Groups.
""" """
from nose.plugins.attrib import attr
from ..helpers import UniqueCourseTest, create_user_partition_json from ..helpers import UniqueCourseTest, create_user_partition_json
from ...pages.studio.auto_auth import AutoAuthPage from ...pages.studio.auto_auth import AutoAuthPage
from ...pages.lms.courseware import CoursewarePage from ...pages.lms.courseware import CoursewarePage
...@@ -13,6 +14,7 @@ from xmodule.partitions.partitions import Group ...@@ -13,6 +14,7 @@ from xmodule.partitions.partitions import Group
from textwrap import dedent from textwrap import dedent
@attr('shard_3')
class StaffViewTest(UniqueCourseTest): class StaffViewTest(UniqueCourseTest):
""" """
Tests that verify the staff view. Tests that verify the staff view.
...@@ -50,6 +52,7 @@ class StaffViewTest(UniqueCourseTest): ...@@ -50,6 +52,7 @@ class StaffViewTest(UniqueCourseTest):
return staff_page return staff_page
@attr('shard_3')
class CourseWithoutContentGroupsTest(StaffViewTest): class CourseWithoutContentGroupsTest(StaffViewTest):
""" """
Setup for tests that have no content restricted to specific content groups. Setup for tests that have no content restricted to specific content groups.
...@@ -80,6 +83,7 @@ class CourseWithoutContentGroupsTest(StaffViewTest): ...@@ -80,6 +83,7 @@ class CourseWithoutContentGroupsTest(StaffViewTest):
) )
@attr('shard_3')
class StaffViewToggleTest(CourseWithoutContentGroupsTest): class StaffViewToggleTest(CourseWithoutContentGroupsTest):
""" """
Tests for the staff view toggle button. Tests for the staff view toggle button.
...@@ -96,6 +100,7 @@ class StaffViewToggleTest(CourseWithoutContentGroupsTest): ...@@ -96,6 +100,7 @@ class StaffViewToggleTest(CourseWithoutContentGroupsTest):
self.assertFalse(course_page.has_tab('Instructor')) self.assertFalse(course_page.has_tab('Instructor'))
@attr('shard_3')
class StaffDebugTest(CourseWithoutContentGroupsTest): class StaffDebugTest(CourseWithoutContentGroupsTest):
""" """
Tests that verify the staff debug info. Tests that verify the staff debug info.
...@@ -227,6 +232,7 @@ class StaffDebugTest(CourseWithoutContentGroupsTest): ...@@ -227,6 +232,7 @@ class StaffDebugTest(CourseWithoutContentGroupsTest):
'for user {}'.format(self.USERNAME), msg) 'for user {}'.format(self.USERNAME), msg)
@attr('shard_3')
class CourseWithContentGroupsTest(StaffViewTest): class CourseWithContentGroupsTest(StaffViewTest):
""" """
Verifies that changing the "View this course as" selector works properly for content groups. Verifies that changing the "View this course as" selector works properly for content groups.
......
...@@ -5,6 +5,7 @@ from datetime import datetime, timedelta ...@@ -5,6 +5,7 @@ from datetime import datetime, timedelta
import itertools import itertools
from pytz import UTC from pytz import UTC
from bok_choy.promise import EmptyPromise from bok_choy.promise import EmptyPromise
from nose.plugins.attrib import attr
from ...pages.studio.overview import CourseOutlinePage, ContainerPage, ExpandCollapseLinkState from ...pages.studio.overview import CourseOutlinePage, ContainerPage, ExpandCollapseLinkState
from ...pages.studio.utils import add_discussion, drag, verify_ordering from ...pages.studio.utils import add_discussion, drag, verify_ordering
...@@ -67,6 +68,7 @@ class CourseOutlineTest(StudioCourseTest): ...@@ -67,6 +68,7 @@ class CourseOutlineTest(StudioCourseTest):
verify_ordering(self, outline_page, expected_ordering) verify_ordering(self, outline_page, expected_ordering)
@attr('shard_3')
class CourseOutlineDragAndDropTest(CourseOutlineTest): class CourseOutlineDragAndDropTest(CourseOutlineTest):
""" """
Tests of drag and drop within the outline page. Tests of drag and drop within the outline page.
...@@ -121,6 +123,7 @@ class CourseOutlineDragAndDropTest(CourseOutlineTest): ...@@ -121,6 +123,7 @@ class CourseOutlineDragAndDropTest(CourseOutlineTest):
self.drag_and_verify(self.seq_1_vert_2_handle, self.chap_1_seq_2_handle, expected_ordering, course_outline_page) self.drag_and_verify(self.seq_1_vert_2_handle, self.chap_1_seq_2_handle, expected_ordering, course_outline_page)
@attr('shard_3')
class WarningMessagesTest(CourseOutlineTest): class WarningMessagesTest(CourseOutlineTest):
""" """
Feature: Warning messages on sections, subsections, and units Feature: Warning messages on sections, subsections, and units
...@@ -325,6 +328,7 @@ class WarningMessagesTest(CourseOutlineTest): ...@@ -325,6 +328,7 @@ class WarningMessagesTest(CourseOutlineTest):
unit.toggle_staff_lock() unit.toggle_staff_lock()
@attr('shard_3')
class EditingSectionsTest(CourseOutlineTest): class EditingSectionsTest(CourseOutlineTest):
""" """
Feature: Editing Release date, Due date and grading type. Feature: Editing Release date, Due date and grading type.
...@@ -472,6 +476,7 @@ class EditingSectionsTest(CourseOutlineTest): ...@@ -472,6 +476,7 @@ class EditingSectionsTest(CourseOutlineTest):
self.assertIn(release_text, self.course_outline_page.section_at(0).subsection_at(0).release_date) self.assertIn(release_text, self.course_outline_page.section_at(0).subsection_at(0).release_date)
@attr('shard_3')
class StaffLockTest(CourseOutlineTest): class StaffLockTest(CourseOutlineTest):
""" """
Feature: Sections, subsections, and units can be locked and unlocked from the course outline. Feature: Sections, subsections, and units can be locked and unlocked from the course outline.
...@@ -853,6 +858,7 @@ class StaffLockTest(CourseOutlineTest): ...@@ -853,6 +858,7 @@ class StaffLockTest(CourseOutlineTest):
self._remove_staff_lock_and_verify_warning(subsection, False) self._remove_staff_lock_and_verify_warning(subsection, False)
@attr('shard_3')
class EditNamesTest(CourseOutlineTest): class EditNamesTest(CourseOutlineTest):
""" """
Feature: Click-to-edit section/subsection names Feature: Click-to-edit section/subsection names
...@@ -968,6 +974,7 @@ class EditNamesTest(CourseOutlineTest): ...@@ -968,6 +974,7 @@ class EditNamesTest(CourseOutlineTest):
self.assertTrue(self.course_outline_page.section_at(0).is_collapsed) self.assertTrue(self.course_outline_page.section_at(0).is_collapsed)
@attr('shard_3')
class CreateSectionsTest(CourseOutlineTest): class CreateSectionsTest(CourseOutlineTest):
""" """
Feature: Create new sections/subsections/units Feature: Create new sections/subsections/units
...@@ -1054,6 +1061,7 @@ class CreateSectionsTest(CourseOutlineTest): ...@@ -1054,6 +1061,7 @@ class CreateSectionsTest(CourseOutlineTest):
self.assertTrue(unit_page.is_inline_editing_display_name()) self.assertTrue(unit_page.is_inline_editing_display_name())
@attr('shard_3')
class DeleteContentTest(CourseOutlineTest): class DeleteContentTest(CourseOutlineTest):
""" """
Feature: Deleting sections/subsections/units Feature: Deleting sections/subsections/units
...@@ -1165,6 +1173,7 @@ class DeleteContentTest(CourseOutlineTest): ...@@ -1165,6 +1173,7 @@ class DeleteContentTest(CourseOutlineTest):
self.assertTrue(self.course_outline_page.has_no_content_message) self.assertTrue(self.course_outline_page.has_no_content_message)
@attr('shard_3')
class ExpandCollapseMultipleSectionsTest(CourseOutlineTest): class ExpandCollapseMultipleSectionsTest(CourseOutlineTest):
""" """
Feature: Courses with multiple sections can expand and collapse all sections. Feature: Courses with multiple sections can expand and collapse all sections.
...@@ -1296,6 +1305,7 @@ class ExpandCollapseMultipleSectionsTest(CourseOutlineTest): ...@@ -1296,6 +1305,7 @@ class ExpandCollapseMultipleSectionsTest(CourseOutlineTest):
self.verify_all_sections(collapsed=False) self.verify_all_sections(collapsed=False)
@attr('shard_3')
class ExpandCollapseSingleSectionTest(CourseOutlineTest): class ExpandCollapseSingleSectionTest(CourseOutlineTest):
""" """
Feature: Courses with a single section can expand and collapse all sections. Feature: Courses with a single section can expand and collapse all sections.
...@@ -1335,6 +1345,7 @@ class ExpandCollapseSingleSectionTest(CourseOutlineTest): ...@@ -1335,6 +1345,7 @@ class ExpandCollapseSingleSectionTest(CourseOutlineTest):
self.assertFalse(self.course_outline_page.section_at(0).subsection_at(1).is_collapsed) self.assertFalse(self.course_outline_page.section_at(0).subsection_at(1).is_collapsed)
@attr('shard_3')
class ExpandCollapseEmptyTest(CourseOutlineTest): class ExpandCollapseEmptyTest(CourseOutlineTest):
""" """
Feature: Courses with no sections initially can expand and collapse all sections after addition. Feature: Courses with no sections initially can expand and collapse all sections after addition.
...@@ -1372,6 +1383,7 @@ class ExpandCollapseEmptyTest(CourseOutlineTest): ...@@ -1372,6 +1383,7 @@ class ExpandCollapseEmptyTest(CourseOutlineTest):
self.assertFalse(self.course_outline_page.section_at(0).is_collapsed) self.assertFalse(self.course_outline_page.section_at(0).is_collapsed)
@attr('shard_3')
class DefaultStatesEmptyTest(CourseOutlineTest): class DefaultStatesEmptyTest(CourseOutlineTest):
""" """
Feature: Misc course outline default states/actions when starting with an empty course Feature: Misc course outline default states/actions when starting with an empty course
...@@ -1396,6 +1408,7 @@ class DefaultStatesEmptyTest(CourseOutlineTest): ...@@ -1396,6 +1408,7 @@ class DefaultStatesEmptyTest(CourseOutlineTest):
self.assertTrue(self.course_outline_page.bottom_add_section_button.is_present()) self.assertTrue(self.course_outline_page.bottom_add_section_button.is_present())
@attr('shard_3')
class DefaultStatesContentTest(CourseOutlineTest): class DefaultStatesContentTest(CourseOutlineTest):
""" """
Feature: Misc course outline default states/actions when starting with a course with content Feature: Misc course outline default states/actions when starting with a course with content
...@@ -1420,6 +1433,7 @@ class DefaultStatesContentTest(CourseOutlineTest): ...@@ -1420,6 +1433,7 @@ class DefaultStatesContentTest(CourseOutlineTest):
self.assertEqual(courseware.xblock_component_type(2), 'discussion') self.assertEqual(courseware.xblock_component_type(2), 'discussion')
@attr('shard_3')
class UnitNavigationTest(CourseOutlineTest): class UnitNavigationTest(CourseOutlineTest):
""" """
Feature: Navigate to units Feature: Navigate to units
...@@ -1440,6 +1454,7 @@ class UnitNavigationTest(CourseOutlineTest): ...@@ -1440,6 +1454,7 @@ class UnitNavigationTest(CourseOutlineTest):
self.assertTrue(unit.is_browser_on_page) self.assertTrue(unit.is_browser_on_page)
@attr('shard_3')
class PublishSectionTest(CourseOutlineTest): class PublishSectionTest(CourseOutlineTest):
""" """
Feature: Publish sections. Feature: Publish sections.
......
...@@ -175,12 +175,17 @@ END ...@@ -175,12 +175,17 @@ END
;; ;;
"3") "3")
paver test_bokchoy --extra_args="-a shard_1=False,shard_2=False" paver test_bokchoy --extra_args="-a 'shard_3'"
paver bokchoy_coverage
;;
"4")
paver test_bokchoy --extra_args="-a shard_1=False,shard_2=False,shard_3=False"
paver bokchoy_coverage paver bokchoy_coverage
;; ;;
# Default case because if we later define another bok-choy shard on Jenkins # Default case because if we later define another bok-choy shard on Jenkins
# (e.g. Shard 4) in the multi-config project and expand this file # (e.g. Shard 5) in the multi-config project and expand this file
# with an additional case condition, old branches without that commit # with an additional case condition, old branches without that commit
# would not execute any tests on the worker assigned to that shard # would not execute any tests on the worker assigned to that shard
# and thus their build would fail. # and thus their build would fail.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment