squad 1.84__py3-none-any.whl → 1.85__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of squad might be problematic. Click here for more details.
- squad/ci/backend/fake.py +6 -0
- squad/ci/backend/lava.py +6 -0
- squad/ci/backend/null.py +15 -1
- squad/ci/backend/tuxsuite.py +5 -0
- squad/ci/models.py +1 -1
- squad/frontend/templates/squad/testjobs.jinja2 +8 -6
- squad/version.py +1 -1
- {squad-1.84.dist-info → squad-1.85.dist-info}/METADATA +1 -1
- {squad-1.84.dist-info → squad-1.85.dist-info}/RECORD +13 -13
- {squad-1.84.dist-info → squad-1.85.dist-info}/COPYING +0 -0
- {squad-1.84.dist-info → squad-1.85.dist-info}/WHEEL +0 -0
- {squad-1.84.dist-info → squad-1.85.dist-info}/entry_points.txt +0 -0
- {squad-1.84.dist-info → squad-1.85.dist-info}/top_level.txt +0 -0
squad/ci/backend/fake.py
CHANGED
@@ -60,6 +60,12 @@ class Backend(object):
|
|
60
60
|
def job_url(self, test_job):
|
61
61
|
return 'https://example.com/job/%s' % test_job.job_id
|
62
62
|
|
63
|
+
def has_resubmit(self):
|
64
|
+
return False
|
65
|
+
|
66
|
+
def has_cancel(self):
|
67
|
+
return True
|
68
|
+
|
63
69
|
def cancel(self, test_job):
|
64
70
|
return True
|
65
71
|
|
squad/ci/backend/lava.py
CHANGED
@@ -106,6 +106,9 @@ class Backend(BaseBackend):
|
|
106
106
|
return job_id
|
107
107
|
return [job_id]
|
108
108
|
|
109
|
+
def has_cancel(self):
|
110
|
+
return True
|
111
|
+
|
109
112
|
def cancel(self, test_job):
|
110
113
|
if test_job.submitted and test_job.job_id is not None:
|
111
114
|
return self.__cancel_job__(test_job.job_id)
|
@@ -329,6 +332,9 @@ class Backend(BaseBackend):
|
|
329
332
|
scheme = socket_url.scheme
|
330
333
|
return '%s://%s:%s' % (scheme, hostname, port)
|
331
334
|
|
335
|
+
def has_resubmit(self):
|
336
|
+
return True
|
337
|
+
|
332
338
|
def resubmit(self, test_job):
|
333
339
|
with self.handle_job_submission():
|
334
340
|
new_job_id_list = self.__resubmit__(test_job.job_id)
|
squad/ci/backend/null.py
CHANGED
@@ -8,7 +8,7 @@ logger = logging.getLogger('squad.ci.backend')
|
|
8
8
|
description = "None"
|
9
9
|
|
10
10
|
|
11
|
-
class Backend
|
11
|
+
class Backend:
|
12
12
|
|
13
13
|
"""
|
14
14
|
This is the interface that all backends must implement. Depending on the
|
@@ -39,6 +39,13 @@ class Backend(object):
|
|
39
39
|
"""
|
40
40
|
raise NotImplementedError
|
41
41
|
|
42
|
+
def has_resubmit(self):
|
43
|
+
"""
|
44
|
+
If the backend has a resubmit method implemented, override this to
|
45
|
+
return True.
|
46
|
+
"""
|
47
|
+
return False
|
48
|
+
|
42
49
|
def resubmit(self, test_job):
|
43
50
|
"""
|
44
51
|
Re-submits given test job to the backend service
|
@@ -84,6 +91,13 @@ class Backend(object):
|
|
84
91
|
"""
|
85
92
|
raise NotImplementedError
|
86
93
|
|
94
|
+
def has_cancel(self):
|
95
|
+
"""
|
96
|
+
If the backend has a cancel method implemented, override this to
|
97
|
+
return True.
|
98
|
+
"""
|
99
|
+
return False
|
100
|
+
|
87
101
|
def cancel(self, test_job):
|
88
102
|
"""
|
89
103
|
Cancels the job if the backend allows it. It will not raise any
|
squad/ci/backend/tuxsuite.py
CHANGED
squad/ci/models.py
CHANGED
@@ -382,7 +382,7 @@ class TestJob(models.Model):
|
|
382
382
|
if self.job_status == "Canceled":
|
383
383
|
return False
|
384
384
|
|
385
|
-
if self.job_id is not None:
|
385
|
+
if self.job_id is not None and self.backend.get_implementation().has_cancel():
|
386
386
|
return self.backend.get_implementation().cancel(self)
|
387
387
|
|
388
388
|
self.fetched = True
|
@@ -56,7 +56,7 @@
|
|
56
56
|
<div class='pull-right clearfix' ng-controller='CancelController' title="{{ _('Cancel all jobs') }}">
|
57
57
|
<a class="btn" ng-click="cancel_all({{ build.id }})" ng-class="{'btn-info': !done, 'btn-success': done, 'btn-danger': error}" ng-disabled="done" >
|
58
58
|
<span ng-class="{'fa':true, 'fa-recycle':!done, 'fa-check': done && !error, 'fa-spin': loading, 'fa-close': error}" ng-disabled="done"></span>
|
59
|
-
{{ _('
|
59
|
+
{{ _('Cancel all jobs') }}
|
60
60
|
</a>
|
61
61
|
</div>
|
62
62
|
<br />
|
@@ -107,7 +107,7 @@
|
|
107
107
|
ng-class="{'fa':true, 'fa-recycle':!done, 'fa-check': done && !error, 'fa-spin': loading, 'fa-close': error}"
|
108
108
|
ng-disabled="done">
|
109
109
|
</span>
|
110
|
-
{{ _('
|
110
|
+
{{ _('manual fetch') }}
|
111
111
|
</a>
|
112
112
|
</div>
|
113
113
|
{% endif %}
|
@@ -122,11 +122,12 @@
|
|
122
122
|
ng-class="{'fa':true, 'fa-recycle':!done, 'fa-check': done && !error, 'fa-spin': loading, 'fa-close': error}"
|
123
123
|
ng-disabled="done">
|
124
124
|
</span>
|
125
|
-
{{ _('%s
|
125
|
+
{{ _('cancel %s') % testjob.backend.get_implementation().has_cancel() }}
|
126
126
|
</a>
|
127
127
|
</div>
|
128
128
|
{% endif %}
|
129
129
|
<div class='pull-right' ng-controller='ResubmitController'>
|
130
|
+
{% if testjob.backend.get_implementation().has_resubmit() %}
|
130
131
|
<a
|
131
132
|
class="btn"
|
132
133
|
ng-click="resubmit({{testjob.id}}, true)"
|
@@ -138,9 +139,10 @@
|
|
138
139
|
ng-disabled="done"
|
139
140
|
title="{{ _('Resubmit job no matter the status') }}">
|
140
141
|
</span>
|
141
|
-
{{ _('
|
142
|
+
{{ _('force resubmit') }}
|
142
143
|
</a>
|
143
|
-
{%
|
144
|
+
{% endif %}
|
145
|
+
{% if testjob.can_resubmit and testjob.backend.get_implementation().has_resubmit() %}
|
144
146
|
<a
|
145
147
|
class="btn"
|
146
148
|
ng-click="resubmit({{testjob.id}}, false)"
|
@@ -152,7 +154,7 @@
|
|
152
154
|
ng-disabled="done"
|
153
155
|
title="{{ _('Resubmit job') }}">
|
154
156
|
</span>
|
155
|
-
{{ _('
|
157
|
+
{{ _('resubmit') }}
|
156
158
|
</a>
|
157
159
|
{% endif %}
|
158
160
|
</div>
|
squad/version.py
CHANGED
@@ -1 +1 @@
|
|
1
|
-
__version__ = '1.
|
1
|
+
__version__ = '1.85'
|
@@ -10,7 +10,7 @@ squad/manage.py,sha256=Z-LXT67p0R-IzwJ9fLIAacEZmU0VUjqDOSg7j2ZSxJ4,1437
|
|
10
10
|
squad/settings.py,sha256=Wzg1nS96OKZ38qEXtIat9XaZc1HigUJr3ktMuwVhf98,14546
|
11
11
|
squad/socialaccount.py,sha256=vySqPwQ3qVVpahuJ-Snln8K--yzRL3bw4Nx27AsB39A,789
|
12
12
|
squad/urls.py,sha256=JiEfVW8YlzLPE52c2aHzdn5kVVKK4o22w8h5KOA6QhQ,2776
|
13
|
-
squad/version.py,sha256=
|
13
|
+
squad/version.py,sha256=XHedXngbS7mTJ6PRZZiqQufUZV1aZtCSDF-zEyvtXKg,21
|
14
14
|
squad/wsgi.py,sha256=SF8T0cQ0OPVyuYjO5YXBIQzvSXQHV0M2BTmd4gP1rPs,387
|
15
15
|
squad/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
16
16
|
squad/api/apps.py,sha256=Trk72p-iV1uGn0o5mdJn5HARUoHGbfgO49jwXvpkmdQ,141
|
@@ -25,14 +25,14 @@ squad/ci/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
25
25
|
squad/ci/admin.py,sha256=7yB-6F0cvt0NVvzGOTlZCyGPV_YHarmbKJZTTzataT4,2255
|
26
26
|
squad/ci/apps.py,sha256=6OVnzTdJkxdqEJnKWYE9dZgUcc29_T1LrDw41cK4EQk,139
|
27
27
|
squad/ci/exceptions.py,sha256=a1sccygniTYDSQi7FRn_6doapddFFiMf55AwGUh5Y80,227
|
28
|
-
squad/ci/models.py,sha256=
|
28
|
+
squad/ci/models.py,sha256=Fm-4b3SDgMh9HXzqjOd4iZDRMJ1D9AnZ2cg7i2OR248,16018
|
29
29
|
squad/ci/tasks.py,sha256=xoiOyh0HKLiKsAnQbolMRq4E9RcvP4xFgR0S9d_bgm4,3782
|
30
30
|
squad/ci/utils.py,sha256=38zHpw8xkZDSFlkG-2BwSK6AkcddK9OkN9LXuQ3SHR0,97
|
31
31
|
squad/ci/backend/__init__.py,sha256=yhpotXT9F4IdAOXvGQ3-17eOHAFwoaqf9SnMX17ab30,534
|
32
|
-
squad/ci/backend/fake.py,sha256=
|
33
|
-
squad/ci/backend/lava.py,sha256=
|
34
|
-
squad/ci/backend/null.py,sha256=
|
35
|
-
squad/ci/backend/tuxsuite.py,sha256=
|
32
|
+
squad/ci/backend/fake.py,sha256=9sPKndsGd5GDNPp35v-zfJWXZCbge-yXH3RBQGgTlPk,2340
|
33
|
+
squad/ci/backend/lava.py,sha256=EXwEksjdOi_ZrUoMkBTyxVjqVOnJvEFNg_LWqUKaIgA,33607
|
34
|
+
squad/ci/backend/null.py,sha256=0CVylWELIZw3JyzCROB4XXAjgQUi15YjQz5caRfTNBo,5434
|
35
|
+
squad/ci/backend/tuxsuite.py,sha256=Qz-zHyElU7K-oRT_DOlORaD_lR1HJC2JoHnLPZKfl60,17392
|
36
36
|
squad/ci/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
37
37
|
squad/ci/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
38
38
|
squad/ci/management/commands/create_tuxsuite_boot_tests.py,sha256=JvjNusebLX71eyz9d-kaeCyekYSpzc1eXoeIqWK9ygo,4045
|
@@ -394,7 +394,7 @@ squad/frontend/templates/squad/test_run_suite_metrics.jinja2,sha256=WGjlObw7ZTGo
|
|
394
394
|
squad/frontend/templates/squad/test_run_suite_test_details.jinja2,sha256=HGGnxDoFpyPgiH34aIVRrQysLn7KLYtDITUeQikYOoY,5657
|
395
395
|
squad/frontend/templates/squad/test_run_suite_tests.jinja2,sha256=S5VJMIoc18W46iHtSSLYC_3C3Wj1saXU83wR-JvF8GI,935
|
396
396
|
squad/frontend/templates/squad/testjob.jinja2,sha256=hQLavgkYJ3qAKJMG7cHnmJGC1jdwCnox2w9oQvLzn7U,324
|
397
|
-
squad/frontend/templates/squad/testjobs.jinja2,sha256=
|
397
|
+
squad/frontend/templates/squad/testjobs.jinja2,sha256=a90ltfoIWORB4i1mubA3cfQzX1IoSMqhYpAUc38RZSk,9632
|
398
398
|
squad/frontend/templates/squad/testjobs_progress.jinja2,sha256=4_o53GOdcClRdiNQxPHwvXPI9Ia07gTJRu5SGrCJ7s4,2638
|
399
399
|
squad/frontend/templates/squad/tests-details-nav.jinja2,sha256=WDi4vf0ctRK1dK1Z3IirBuyn5Dq9_qg_9A1P3GrB31U,664
|
400
400
|
squad/frontend/templates/squad/tests.jinja2,sha256=2AaEoCHJiCzXu_36XOq0ihiGqxh_2U2w88dheBlIwy8,4970
|
@@ -431,9 +431,9 @@ squad/run/__main__.py,sha256=DOl8JOi4Yg7DdtwnUeGqtYBJ6P2k-D2psAEuYOjWr8w,66
|
|
431
431
|
squad/run/listener.py,sha256=jBeOQhPGb4EdIREB1QsCzYuumsfJ-TqJPd3nR-0m59g,200
|
432
432
|
squad/run/scheduler.py,sha256=CDJG3q5C0GuQuxwlMOfWTSSJpDdwbR6rzpbJfuA0xuw,277
|
433
433
|
squad/run/worker.py,sha256=jtML0h5qKDuSbpJ6_rpWP4MT_rsGA7a24AhwGxBquzk,594
|
434
|
-
squad-1.
|
435
|
-
squad-1.
|
436
|
-
squad-1.
|
437
|
-
squad-1.
|
438
|
-
squad-1.
|
439
|
-
squad-1.
|
434
|
+
squad-1.85.dist-info/COPYING,sha256=jOtLnuWt7d5Hsx6XXB2QxzrSe2sWWh3NgMfFRetluQM,35147
|
435
|
+
squad-1.85.dist-info/METADATA,sha256=1m8I9voN8Y6StBv8TUFvk2-eFN-EZegBK9YTNy7jXTI,1234
|
436
|
+
squad-1.85.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
437
|
+
squad-1.85.dist-info/entry_points.txt,sha256=apCDQydHZtvqV334ql6NhTJUAJeZRdtAm0TVcbbAi5Q,194
|
438
|
+
squad-1.85.dist-info/top_level.txt,sha256=_x9uqE1XppiiytmVTl_qNgpnXus6Gsef69HqfliE7WI,6
|
439
|
+
squad-1.85.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|