TestHelpers.StartFullTest fails on Value of: state_values["percent-done"].toFloat() > 1.0
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Keeper |
Fix Committed
|
Medium
|
Charles Kerr |
Bug Description
18:00:53 Retrieving connection
18:00:53 Is valid: true
18:00:53 [debug] Helper:
18:00:53 [debug] id: "/tmp/helpers-
18:00:53 [debug] time: QDateTime(
18:00:53 [debug] waiting for worker thread to initialize (:0)
18:00:53 [debug] worker thread ready (:0)
18:00:53 [debug] getNewFileForBa
18:00:53 [debug] calling helper.
18:00:53 [debug] changing state of helper 0x8350490 from "complete" to "started" (src/helper/
18:00:53 [debug] Backup helper started (src/service/
18:00:53 wrote 513 bytes
18:00:53 [debug] upload_
18:00:53 [debug] upload_
18:00:53 [debug] emitting percent-
18:00:53 [CRITICAL] no task data for "" (src/service/
18:00:53 [debug] n_read 513 n_uploaded 513 (newly uploaded 513) (src/helper/
18:00:53 (process:7298): libdbustest-DEBUG: Waiting on name from DBusMock
18:00:53 (process:7298): libdbustest-DEBUG: Add object (org.linuxconta
18:00:53 DBusMock : 1471543252.839 GetJobByName "untrusted-helper"
18:00:53 DBusMock : 1471543252.840 Start ["APP_ID=
18:00:53 DBusMock : 1471543252.843 emit com.ubuntu.
18:00:53 [debug] storage framework directory is "/tmp/helpers-
18:00:53 /��BUILDDIR�
18:00:53 Value of: ([]() -> QString { enum { Size = sizeof(u"" "failed")/2 - 1 }; static const QStaticStringDa
18:00:53 Actual: { 2-byte object <66-00>, 2-byte object <61-00>, 2-byte object <69-00>, 2-byte object <6C-00>, 2-byte object <65-00>, 2-byte object <64-00> }
18:00:53 Expected: state_values[
18:00:53 Which is: { 2-byte object <63-00>, 2-byte object <6F-00>, 2-byte object <6D-00>, 2-byte object <70-00>, 2-byte object <6C-00>, 2-byte object <65-00>, 2-byte object <74-00>, 2-byte object <65-00> }
18:00:53 /��BUILDDIR�
18:00:53 Value of: state_values[
18:00:53 Actual: false
18:00:53 Expected: true
18:00:53 Keeper: Shutting down
Related branches
- Xavi Garcia (community): Needs Fixing
- unity-api-1-bot: Needs Fixing (continuous-integration)
-
Diff: 70 lines (+12/-10)3 files modifiedtests/fakes/fake-backup-helper.cpp (+5/-5)
tests/integration/helpers/helpers-test-failure.cpp (+5/-5)
tests/integration/helpers/test-helpers-base.cpp (+2/-0)
Changed in keeper: | |
importance: | Undecided → Medium |
status: | New → Fix Committed |
Looks like the problem is the new state-keeping in the Keeper class is working too well. This test is trying to confirm we get a progress of > 1.0 for a task when we send an extra byte, but the state-keeping code has already marked the task as complete and erased the current_task variable.
So we probably need to update this test to exercise failure in some different way.
This is also revealing a related second bug though: what would happen if there was another task queued such that current_task was changed not to "" but to the next uuid? We'd be marking /its/ percent-done as > 1.0 and prematurely interrupting it.