squad 1.96__py3-none-any.whl → 1.96.1__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.

@@ -392,9 +392,12 @@ class Backend(BaseBackend):
392
392
  if 'unknown' == results['results']['boot']:
393
393
  return None
394
394
 
395
- # Retrieve TuxRun log
395
+ # Retrieve plain text log
396
396
  logs = self.fetch_url(job_url + '/', 'logs?format=txt').text
397
- log_lines = logs.splitlines()
397
+
398
+ # Retrieve YAML log
399
+ log_structured = self.fetch_url(results["download_url"], 'lava-logs.yaml').text
400
+ log_data = yaml.safe_load(log_structured)
398
401
 
399
402
  attachment_list = ["reproducer", "tux_plan.yaml"]
400
403
  attachments = {}
@@ -410,6 +413,13 @@ class Backend(BaseBackend):
410
413
  boot_test_name = 'boot/' + (metadata.get('build_name') or 'boot')
411
414
  tests[boot_test_name] = {'result': results['results']['boot']}
412
415
 
416
+ lava_signal = re.compile("^<LAVA_SIGNAL_")
417
+
418
+ def filter_log(line):
419
+ return type(line["msg"]) is str \
420
+ and line["lvl"] == "target" \
421
+ and not lava_signal.match(line["msg"])
422
+
413
423
  # Really fetch test results
414
424
  tests_results = self.fetch_url(job_url + '/', 'results').json()
415
425
  if tests_results.get('error', None) is None:
@@ -417,16 +427,30 @@ class Backend(BaseBackend):
417
427
  suite_name = re.sub(r'^[0-9]+_', '', suite)
418
428
  for name, test_data in suite_tests.items():
419
429
  test_name = f'{suite_name}/{name}'
420
- result = test_data['result']
430
+ result = test_data.get('result')
431
+ if not result:
432
+ continue
421
433
  if "starttc" in test_data:
422
- starttc = test_data["starttc"] - 1 # LAVA data counts from 1, we count from 0
434
+ try:
435
+ # LAVA data counts from 1, we count from 0
436
+ starttc = int(test_data["starttc"]) - 1
437
+ except ValueError:
438
+ continue
423
439
  if "endtc" in test_data:
424
- # no -1 as the second index of the slice needs to be
425
- # greater than the first to get at least one item.
426
- endtc = test_data["endtc"]
440
+ try:
441
+ # no -1 as the second index of the slice needs to be
442
+ # greater than the first to get at least one item.
443
+ endtc = int(test_data["endtc"])
444
+ except ValueError:
445
+ endtc = starttc + 2
427
446
  else:
428
447
  endtc = starttc + 2
429
- log_snippet = "\n".join(log_lines[starttc:endtc])
448
+ log_lines = [
449
+ line["msg"].replace("\x00", "")
450
+ for line in log_data[starttc:endtc]
451
+ if filter_log(line)
452
+ ]
453
+ log_snippet = "\n".join(log_lines)
430
454
  else:
431
455
  log_snippet = None
432
456
  tests[test_name] = {"result": result, "log": log_snippet}
@@ -31,17 +31,24 @@ class Command(BaseCommand):
31
31
  type=str,
32
32
  help='Project to fetch the data into (Format: foo/bar)',
33
33
  )
34
+ parser.add_argument(
35
+ 'BUILD',
36
+ type=str,
37
+ nargs="?",
38
+ help='Build to fetch the data into',
39
+ )
34
40
 
35
41
  def handle(self, *args, **options):
36
42
  backend_name = options.get("BACKEND")
37
43
  job_id = options.get("JOBID")
38
44
  group_slug, project_slug = options.get("PROJECT").split('/')
45
+ _build = options.get("BUILD") or str(time.time())
39
46
 
40
47
  backend = Backend.objects.get(name=backend_name)
41
48
 
42
49
  group, _ = Group.objects.get_or_create(slug=group_slug)
43
50
  project, _ = group.projects.get_or_create(slug=project_slug)
44
- build = project.builds.create(version=str(time.time()))
51
+ build, _ = project.builds.get_or_create(version=_build)
45
52
 
46
53
  testjob = backend.test_jobs.create(target=project, job_id=job_id, target_build=build)
47
54
 
squad/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = '1.96'
1
+ __version__ = '1.96.1'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: squad
3
- Version: 1.96
3
+ Version: 1.96.1
4
4
  Summary: Software Quality Dashboard
5
5
  Home-page: https://gitlab.com/Linaro/squad/squad
6
6
  Author: Antonio Terceiro
@@ -10,7 +10,7 @@ squad/manage.py,sha256=Z-LXT67p0R-IzwJ9fLIAacEZmU0VUjqDOSg7j2ZSxJ4,1437
10
10
  squad/settings.py,sha256=sLSts3qmUgXmpLmzhOBrTmFcSuBRMugo0hDY0uw4z3A,14792
11
11
  squad/socialaccount.py,sha256=vySqPwQ3qVVpahuJ-Snln8K--yzRL3bw4Nx27AsB39A,789
12
12
  squad/urls.py,sha256=JiEfVW8YlzLPE52c2aHzdn5kVVKK4o22w8h5KOA6QhQ,2776
13
- squad/version.py,sha256=RtXo-Lku2ipg-tPkVM1mzfGxoMi1VE4O6Qh-PRiKdWs,21
13
+ squad/version.py,sha256=EM3neo5Jmib77mEZj8psBMuUtUBD4DJ7qRXROfPOFBw,23
14
14
  squad/wsgi.py,sha256=SF8T0cQ0OPVyuYjO5YXBIQzvSXQHV0M2BTmd4gP1rPs,387
15
15
  squad/api/__init__.py,sha256=CJiVakfAlHVN5mIFRVQYZQfuNUhUgWVbsdYTME4tq7U,1349
16
16
  squad/api/apps.py,sha256=Trk72p-iV1uGn0o5mdJn5HARUoHGbfgO49jwXvpkmdQ,141
@@ -33,12 +33,12 @@ squad/ci/backend/__init__.py,sha256=yhpotXT9F4IdAOXvGQ3-17eOHAFwoaqf9SnMX17ab30,
33
33
  squad/ci/backend/fake.py,sha256=MTsxGZuihJOd39X8ysJhiYp4A0R46lyhdkjoTgFm6a8,2435
34
34
  squad/ci/backend/lava.py,sha256=Atb2AgV5OSejtN1LyE7xONTFvJCdDoh9vK9RO_P7L2g,34077
35
35
  squad/ci/backend/null.py,sha256=oZx3OofUKSuLOYS_GZkteGaD6JOEEkdknVmi4_cxDOQ,5645
36
- squad/ci/backend/tuxsuite.py,sha256=7X7Ym4rWi6nUV01hio2wW-TYAOj5LHPFSZdor-lUivg,19944
36
+ squad/ci/backend/tuxsuite.py,sha256=roWaCHDenmyD0094jgTXhxXyZDtafNVQ9IXStcBxenc,20894
37
37
  squad/ci/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
38
  squad/ci/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
39
39
  squad/ci/management/commands/create_tuxsuite_boot_tests.py,sha256=JvjNusebLX71eyz9d-kaeCyekYSpzc1eXoeIqWK9ygo,4045
40
40
  squad/ci/management/commands/listen.py,sha256=3o0IZPeUz3D3Pd-yL-yJdYkRmSgm6mhzB8qUCt6oejU,4683
41
- squad/ci/management/commands/testfetch.py,sha256=28vOmmpgZFhJZRmXOCZxSN0y64fpLDCrmM7oi5rewk4,1663
41
+ squad/ci/management/commands/testfetch.py,sha256=pPFO74X5KCJMGr3OYt9bqijDQd_MAHRmc-bS3imMzwM,1875
42
42
  squad/ci/migrations/0001_initial.py,sha256=oIcEE32zdiuQkCyyily6VKnRVH8e03cYmvcxlo0iELg,2098
43
43
  squad/ci/migrations/0002_auto_20170406_1252.py,sha256=rLGNiNaV737vCVKtEOWTzdH4vkVlBdwfhYkkRdD7xps,633
44
44
  squad/ci/migrations/0003_backend_name.py,sha256=8erX-jJFSA-l9eefrWt4_sE7Qb3pVPDNjJJSqg_Mofk,512
@@ -436,9 +436,9 @@ squad/run/__main__.py,sha256=DOl8JOi4Yg7DdtwnUeGqtYBJ6P2k-D2psAEuYOjWr8w,66
436
436
  squad/run/listener.py,sha256=jBeOQhPGb4EdIREB1QsCzYuumsfJ-TqJPd3nR-0m59g,200
437
437
  squad/run/scheduler.py,sha256=CDJG3q5C0GuQuxwlMOfWTSSJpDdwbR6rzpbJfuA0xuw,277
438
438
  squad/run/worker.py,sha256=jtML0h5qKDuSbpJ6_rpWP4MT_rsGA7a24AhwGxBquzk,594
439
- squad-1.96.dist-info/licenses/COPYING,sha256=jOtLnuWt7d5Hsx6XXB2QxzrSe2sWWh3NgMfFRetluQM,35147
440
- squad-1.96.dist-info/METADATA,sha256=SJVyM4OtL1m3jknZA9hIfO77bYhEEhBqj5xg3VHaXyw,1513
441
- squad-1.96.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
442
- squad-1.96.dist-info/entry_points.txt,sha256=apCDQydHZtvqV334ql6NhTJUAJeZRdtAm0TVcbbAi5Q,194
443
- squad-1.96.dist-info/top_level.txt,sha256=_x9uqE1XppiiytmVTl_qNgpnXus6Gsef69HqfliE7WI,6
444
- squad-1.96.dist-info/RECORD,,
439
+ squad-1.96.1.dist-info/licenses/COPYING,sha256=jOtLnuWt7d5Hsx6XXB2QxzrSe2sWWh3NgMfFRetluQM,35147
440
+ squad-1.96.1.dist-info/METADATA,sha256=3yQ4R0HGTu3BvUf7uJnt94G-qX-h58tcKzBH0PvHW9U,1515
441
+ squad-1.96.1.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
442
+ squad-1.96.1.dist-info/entry_points.txt,sha256=apCDQydHZtvqV334ql6NhTJUAJeZRdtAm0TVcbbAi5Q,194
443
+ squad-1.96.1.dist-info/top_level.txt,sha256=_x9uqE1XppiiytmVTl_qNgpnXus6Gsef69HqfliE7WI,6
444
+ squad-1.96.1.dist-info/RECORD,,
File without changes