Merge lp:~sylvain-pineau/cdts/bug1234674 into lp:cdts

Proposed by Sylvain Pineau
Status: Work in progress
Proposed branch: lp:~sylvain-pineau/cdts/bug1234674
Merge into: lp:cdts
Diff against target: 113 lines (+12/-18)
3 files modified
plainbox-gui/canonical-driver-test-suite/qml/ResumeView.qml (+2/-17)
plainbox-gui/gui-engine/gui-engine.cpp (+9/-1)
plainbox-gui/gui-engine/gui-engine.h (+1/-0)
To merge this branch: bzr merge lp:~sylvain-pineau/cdts/bug1234674
Reviewer Review Type Date Requested Status
Registry Administrators Pending
Review via email: mp+189288@code.launchpad.net

Description of the change

[WORK IN PROGRESS]

a quick and dirty workaround for the linked bug, not fixing the root cause but avoids the SEGFAULT crash.

To post a comment you must log in.

Unmerged revisions

2318. By Sylvain Pineau

ResumeView.qml: Call guiEngine.GuiRestartSession();

In order to refresh PBObjects

2317. By Sylvain Pineau

gui-engine: Fix GuiEngine::CreateSession qDebug location

2316. By Sylvain Pineau

gui-engine: Adds GuiRestartSession() to the API

To do in one shot:

GuiSessionRemove();
RefreshPBObjects();
GuiCreateSession();

2315. By Sylvain Pineau

"automatic merge by tarmac [r=sylvain-pineau][bug=1232171][author=sylvain-pineau]"

2314. By Andrew Haigh

"automatic merge by tarmac [r=roadmr][bug=1232171][author=andrew-haigh-b]"

2313. By Sylvain Pineau

"automatic merge by tarmac [r=roadmr][bug=1231082][author=sylvain-pineau]"

2312. By Sylvain Pineau

"automatic merge by tarmac [r=roadmr][bug=1229192][author=sylvain-pineau]"

2311. By Sylvain Pineau

"automatic merge by tarmac [r=zkrynicki,roadmr][bug=1229194][author=sylvain-pineau]"

2310. By Andrew Haigh

" The gui now uses the metadata property of the SessionState to preserve its progress as it runs through the tests. This is used to determine whether a resumption of previous test state is possible and gives the user the option of doing so. [r=roadmr][bug=1214896,1229897][author=andrew-haigh-b]"

2309. By Zygmunt Krynicki

"automatic merge by tarmac [r=apulido][bug=][author=zkrynicki]"

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'plainbox-gui/canonical-driver-test-suite/qml/ResumeView.qml'
2--- plainbox-gui/canonical-driver-test-suite/qml/ResumeView.qml 2013-09-23 19:49:56 +0000
3+++ plainbox-gui/canonical-driver-test-suite/qml/ResumeView.qml 2013-10-04 12:11:52 +0000
4@@ -27,7 +27,6 @@
5 Page {
6 title: i18n.tr("Resume")
7
8-
9 Text {
10 id: querylabel
11 width: parent.width - units.gu(40)
12@@ -54,20 +53,16 @@
13 }
14 property int buttonWidth: parent.width - units.gu(40)
15
16-
17 Button {
18 id: rerunButton
19 text: i18n.tr("Rerun last test")
20 width: buttoncol.buttonWidth
21 color: UbuntuColors.orange
22 onClicked: {
23-
24 // Prepare for the run
25 guiEngine.GuiResumeSession(true /* re-run last test */);
26-
27 // We need this to show the list of stuff
28 testitemFactory.CreateTestListModel(testListModel);
29-
30 mainView.state = "RUNMANAGER"
31 }
32 }
33@@ -78,14 +73,10 @@
34 width: buttoncol.buttonWidth
35 color: UbuntuColors.lightAubergine
36 onClicked: {
37-
38-
39 // Prepare for the run
40 guiEngine.GuiResumeSession(false /* re-run last test */);
41-
42 // We need this to show the list of stuff
43 testitemFactory.CreateTestListModel(testListModel);
44-
45 mainView.state = "RUNMANAGER"
46 }
47 }
48@@ -96,16 +87,10 @@
49 width: buttoncol.buttonWidth
50 color: UbuntuColors.warmGrey
51 onClicked: {
52-
53- // Lets clean up the old session
54- guiEngine.GuiSessionRemove();
55-
56- // And create a fresh one
57- guiEngine.GuiCreateSession();
58-
59+ // Lets clean up the old session and create a fresh one
60+ guiEngine.GuiRestartSession();
61 mainView.state = "WELCOME"
62 }
63 }
64 }
65-
66 }
67
68=== modified file 'plainbox-gui/gui-engine/gui-engine.cpp'
69--- plainbox-gui/gui-engine/gui-engine.cpp 2013-09-24 20:39:22 +0000
70+++ plainbox-gui/gui-engine/gui-engine.cpp 2013-10-04 12:11:52 +0000
71@@ -1224,6 +1224,13 @@
72 return previous;
73 }
74
75+void GuiEngine::GuiRestartSession(void)
76+{
77+ GuiSessionRemove();
78+ RefreshPBObjects();
79+ GuiCreateSession();
80+}
81+
82 void GuiEngine::GuiCreateSession(void)
83 {
84 // Create a session and "seed" it with my job list:
85@@ -1294,6 +1301,7 @@
86 {
87 QDBusObjectPath session;
88
89+ qDebug("GuiEngine::CreateSession");
90 QDBusInterface iface(PBBusName, \
91 PBObjectPathName, \
92 PBInterfaceName, \
93@@ -1428,7 +1436,7 @@
94 if (reply.isValid()) {
95 job_list = reply.value();
96 } else {
97- qDebug("Failed to CreateSession()");
98+ qDebug("Failed to UpdateDesiredJobList()");
99 }
100
101 return job_list;
102
103=== modified file 'plainbox-gui/gui-engine/gui-engine.h'
104--- plainbox-gui/gui-engine/gui-engine.h 2013-09-24 20:39:22 +0000
105+++ plainbox-gui/gui-engine/gui-engine.h 2013-10-04 12:11:52 +0000
106@@ -180,6 +180,7 @@
107 // Retrieve all the previous session data
108 void GuiResumeSession(const bool re_run);
109 void GuiCreateSession(void);
110+ void GuiRestartSession(void);
111
112 public:
113 // Returns a list of all the jobnodes

Subscribers

People subscribed via source and target branches