Commit Graph

138 Commits

Author SHA1 Message Date
sanfordstudent
bcc3d16589 Merge pull request #14929 from edx/neem/capa-refactor
Refactor CAPA to use scorable XBlock mixin
2017-05-02 09:43:06 -04:00
J. Cliff Dyer
ea0027f338 refactor CAPA to use scorable xblock mixin
for TNL-6594
2017-05-01 15:08:17 -04:00
Ned Batchelder
ecce0f1513 Merge pull request #14996 from edx/nedbat/remove-useless-super-delegation
Remove a number of unneeded super()-delegation methods
2017-04-28 13:04:43 -04:00
Ned Batchelder
4a568476fd Remove a number of unneeded super()-delegation methods 2017-04-27 14:12:56 -04:00
Nimisha Asthagiri
379a2c181b Refactor Grade Report in prep for parallelization. 2017-04-27 08:33:01 -04:00
J. Cliff Dyer
77f5e2dd00 Fix batch size error and kwargification of compute_v2. 2017-04-26 16:30:27 -04:00
Nimisha Asthagiri
6ee7f409f2 Merge pull request #14952 from edx/neem/refactor-grade-report
Refactor Instructor Tasks - in prep for Grade report work
2017-04-25 11:18:37 -04:00
Nimisha Asthagiri
6cdfeb98cb Merge pull request #14946 from edx/neem/refactor_grades_misc
Grades API misc cleanup
2017-04-25 10:14:25 -04:00
Nimisha Asthagiri
18433dab95 Refactor Instructor Tasks - in prep for Grade report work 2017-04-24 19:35:06 -04:00
Nimisha Asthagiri
16114f585b Miscellaneous grades code cleanup - pending from previous PRs 2017-04-24 17:58:18 -04:00
Nimisha Asthagiri
61c0a01b37 Rename location_to_scores -> problem_scores 2017-04-24 11:01:30 -04:00
Eric Fischer
5c26acc115 Re-kill ICRV block
This reverts commit 1224e341de. I've also added
NotImplementedPartitionScheme, which allows deprecated partition types to have
a valid entry point despite being unusable.

TNL-6675
2017-04-19 15:55:13 -04:00
J. Cliff Dyer
4f6d5d9ce9 Estimate creation time for subsections grades based on timestamp of
incoming scores.

TNL-6697
2017-04-18 16:51:17 -04:00
Nimisha Asthagiri
d852aa8b75 Missing grades tests and
Don't persist when creating grades unless policy changed.
2017-04-12 11:05:44 -04:00
Nimisha Asthagiri
1503e5f768 Grade only engaged learners
Add a new waffle switch that allows us to assume zero grades for
learners who have no entry previously recorded, and another to
disable persisting grades for unengaged learners.

TNL-6691
2017-04-11 10:41:57 -04:00
Eric Fischer
594dcaf4a1 Merge pull request #14780 from edx/efischer/ora_grades
Clear Student State: ORA/Robust Grades fixes
2017-03-30 14:27:45 -04:00
cahrens
e5035746bf Introduce EnrollmentTrackUserPartition.
TNL-6674
2017-03-30 12:24:48 -04:00
Eric Fischer
b484092397 Clear Student State ORA/Robust Grades cleanup 2017-03-30 11:08:29 -04:00
J. Cliff Dyer
a3154b923f Create task to process a batch of grade computations.
TNL-6690
2017-03-28 12:46:51 -04:00
Nimisha Asthagiri
a77c345a58 Merge pull request #14689 from edx/neem/fix-milestone-grades
Fix grading for Gated Subsections
2017-03-17 16:10:12 -04:00
Nimisha Asthagiri
634ac8a825 Still compute grades asynchronously when PersistentGrades is enabled 2017-03-16 18:26:17 -04:00
Sanford Student
9a44777335 changes is score higher to use gtoe
for TNL-6644
2017-03-16 10:25:37 -04:00
Nimisha Asthagiri
cfb032a50c Fix grading for Gated Subsections
TNL-5955
2017-03-15 17:16:20 -04:00
Nimisha Asthagiri
1224e341de Revert "Merge pull request #14588 from edx/efischer/kill_stuff"
This reverts commit 83f2be4929, reversing
changes made to 01ed17426f.
2017-03-08 13:10:48 -05:00
Eric Fischer
83f2be4929 Merge pull request #14588 from edx/efischer/kill_stuff
Kill edx-reverification-block
2017-03-06 09:29:36 -05:00
Nimisha Asthagiri
00d466224e Consolidate Block Structure folders
TNL-6518
2017-03-01 21:19:28 -05:00
Eric Fischer
7b85c0ea00 Remove in-course reverification
This is unused, and will no longer be supported on edx.org. Also adds a
DeprecatedModel utility class.

TNL-6126
2017-03-01 10:46:29 -05:00
Nimisha Asthagiri
02c24cb259 Block Structure query count and API changes 2017-02-28 23:54:57 -05:00
David Ormsbee
ca1f76cedb Move more tests to use bulk_operations. 2017-02-24 15:21:45 -05:00
David Ormsbee
2051c90924 Test Speedup: Isolate Modulestore Signals
There are a number of Django Signals that are on the modulestore's
SignalHandler class, such as SignalHandler.course_published. These
signals can trigger very expensive processes to occur, such as course
overview or block structures generation. Most of the time, the test
author doesn't care about these side-effects.

This commit does a few things:

* Converts the signals on SignalHandler to be instances of a new
  SwitchedSignal class, that allows signal sending to be disabled.

* Creates a SignalIsolationMixin helper similar in spirit to the
  CacheIsolationMixin, and adds it to the ModuleStoreIsolationMixin
  (and thus to ModuleStoreTestCase and SharedModuleStoreTestCase).

* Converts our various tests to use this new mechanism. In some cases,
  this means adjusting query counts downwards because they no longer
  have to account for publishing listener actions.

Modulestore generated signals are now muted by default during test runs.
Calls to send() them will result in no-ops. You can choose to enable
specific signals for a given subclass of ModuleStoreTestCase or
SharedModuleStoreTestCase by specifying an ENABLED_SIGNALS class
attribute, like the following example:

    from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase

    class MyPublishTestCase(ModuleStoreTestCase):
        ENABLED_SIGNALS = ['course_published', 'pre_publish']

You should take great care when disabling signals outside of a
ModuleStoreTestCase or SharedModuleStoreTestCase, since they can leak
out into other tests. Be sure to always clean up, and never disable
signals outside of testing. Because signals are essentially process
globals, it can have a lot of unpleasant side-effects if we start
mucking around with them during live requests.

Overall, this change has cut the total test execution time for
edx-platform by a bit over a third, though we still spend a lot in
pre-test setup during our test builds.

[PERF-413]
2017-02-23 10:31:16 -05:00
Eric Fischer
06c3445609 Short-term fix for TNL-6559 task failures 2017-02-22 14:34:36 -05:00
Eric Fischer
7d82f32f5b Fix issue with test ordering
The second test here is not idempotent, so we must needs reset the
course before each test.
2017-02-17 09:48:56 -05:00
Eric Fischer
fd1ed2ce6d Remove unneeded validation on grades model
These checks are causing SQL query numbers to scale linearly with the
number of subsections being created/updated, and the errors they
check for have not been seen in prod.

TNL-6225
2017-02-17 09:48:56 -05:00
Nimisha Asthagiri
71cce9bb73 Block Transformers: distinguish between READ and WRITE versions
TNL-6522
2017-02-13 12:20:22 -05:00
Nimisha Asthagiri
7cc08399c6 Fix mongo query count for Grades API 2017-02-01 17:58:36 -05:00
Eric Fischer
6f8383199f Allow null edited_timestamp
Some old mongo courses do not have this field, and the team has opted
to allow null values rather than inserting a default. This change
affects both course and subsection grades.

TNL-6408
2017-01-30 13:19:36 -05:00
Sanford Student
dd93496f7a add task id to logging and log database exceptions
for TNL-6332, TNL-6373
2017-01-26 10:06:34 -05:00
Nimisha Asthagiri
5a9179bf00 Update has_database_updated_with_new_score to handle all block types
TNL-6331
2017-01-23 15:50:16 -05:00
Nimisha Asthagiri
adad6b2e83 Merge pull request #14293 from edx/beryl/pre-collect-grade-report
Grade Report: Reuse collected block structure
2017-01-10 13:44:24 -05:00
Nimisha Asthagiri
04d4ab0e4d Grade Report: Reuse collected block structure 2017-01-09 22:04:16 -05:00
Eric Fischer
3fd86614b0 sub_api get_score return value is a dict
This access pattern was wrong, and was causing errors in production. I've
included an additional happy-path test.
2017-01-09 11:50:18 -05:00
Eric Fischer
a7c2a3d926 Retry on all exceptions on failed subsection grade update 2017-01-09 11:50:18 -05:00
Eric Fischer
69eae7b8fb Test for missing submission score
Follow-up to this morning's change for TNL-6236
2017-01-03 14:47:23 -05:00
Nimisha Asthagiri
99e6d53939 Preload definitions when collecting block structures 2016-12-29 08:51:26 -05:00
sanfordstudent
e860205e67 Merge pull request #14191 from edx/beryl/content_library_access
Test retrieving subsection grade after losing access to block in subsection
2016-12-21 13:19:05 -05:00
Nimisha Asthagiri
d1d8d31bba Test retrieving subsection grade after losing access to block in subsection 2016-12-21 11:49:33 -05:00
Sanford Student
ac9b8fba5e context manager for course id in context 2016-12-20 15:26:05 -05:00
Eric Fischer
5a98a90eba Use timestamps in _has_database_updated_with_new_score check
Also fixes issue where ORA grades were never updated, by including
them in this check.

TNL-5994
TNL-5995
2016-12-09 13:46:34 -05:00
Sanford Student
5f2ffbe75b implementation of grading events
for TNL-5045
2016-12-07 14:47:08 -05:00
Sanford Student
44074f30a2 move course version repopulation to runtime layer
for TNL-6065
2016-12-06 10:22:13 -05:00