Merge ~jslarraz/review-tools:initial-schema-support into review-tools:master

Proposed by Jorge Sancho Larraz
Status: Merged
Merged at revision: eb1cc19fa930cd55d4072adead1a7fd75126efff
Proposed branch: ~jslarraz/review-tools:initial-schema-support
Merge into: review-tools:master
Diff against target: 2910 lines (+237/-1085)
9 files modified
.launchpad.yaml (+1/-0)
check-names.list (+0/-1)
reviewtools/schemas/snap.json (+14/-0)
reviewtools/sr_lint.py (+23/-35)
reviewtools/tests/schemas/test_schema_against_store.py (+76/-0)
reviewtools/tests/schemas/test_schema_base.py (+44/-0)
reviewtools/tests/schemas/test_schema_snap.py (+67/-0)
reviewtools/tests/test_sr_lint.py (+0/-209)
tests/test.sh.expected (+12/-840)
Reviewer Review Type Date Requested Status
Alex Murray Approve
Review via email: mp+465771@code.launchpad.net

Commit message

Adds initial support to use schemas. It sets up the framework for schema testing and move the snap name validation to the schema. Support for other snap.yaml attributes will be added in iteratively in subsequent PRs to make reviews more manageable.

To post a comment you must log in.
Revision history for this message
Jorge Sancho Larraz (jslarraz) wrote :

tests/test.sh.expected updated in https://git.launchpad.net/~jslarraz/review-tools/commit/?id=c50b51dbe818c6790ab7b378fa1ef9a3f5f14a75

Remove info when the schema is properly validated. Errors are now more generic for the whole schema validation. Change look as follows:

 = test-check-notices-primed-stage-packages-needed_0.1_amd64.snap =
 Errors
 ------
- - lint-snap-v2:name_valid
- malformed 'name': 'test-check-notices-primed-stage-packages-needed' (length '47' exceeds store limit '40')
+ - lint-snap-v2:snap_schema
+ Error found in snap.yaml while validating $.name: 'test-check-notices-primed-stage-packages-needed' is too long
 test-check-notices-primed-stage-packages-needed_0.1_amd64.snap: FAIL

Revision history for this message
Jorge Sancho Larraz (jslarraz) wrote (last edit ):

reviewtools/tests/schemas/test_schema_against_store.py validates the current snap.yaml schema against all snaps in the store. Following errors have been found in this version:

Error to validate $.name for snap q: 'q' is too short

Revision history for this message
Alex Murray (alexmurray) wrote :

LGTM - thanks for doing this in a small, incremental way - it makes it quite easy to review.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/.launchpad.yaml b/.launchpad.yaml
2index e2699a2..18fa969 100644
3--- a/.launchpad.yaml
4+++ b/.launchpad.yaml
5@@ -16,6 +16,7 @@ jobs:
6 - jq
7 - pylint
8 - python3-coverage
9+ - python3-jsonschema
10 - python3-magic
11 - python3-requests
12 - python3-ruamel.yaml
13diff --git a/check-names.list b/check-names.list
14index deb608f..f8491a6 100644
15--- a/check-names.list
16+++ b/check-names.list
17@@ -102,7 +102,6 @@ lint-snap-v2:layout|
18 lint-snap-v2:license_valid|
19 lint-snap-v2:meta_gui_desktop|
20 lint-snap-v2:mpris_slot_name|
21-lint-snap-v2:name_valid|
22 lint-snap-v2:personal-files_attrib_valid|
23 lint-snap-v2:personal-files_path|
24 lint-snap-v2:personal-files_valid|
25diff --git a/reviewtools/schemas/snap.json b/reviewtools/schemas/snap.json
26new file mode 100644
27index 0000000..3c239c4
28--- /dev/null
29+++ b/reviewtools/schemas/snap.json
30@@ -0,0 +1,14 @@
31+{
32+ "description": "snap.yaml",
33+ "type": "object",
34+ "properties": {
35+ "name": {
36+ "description": "The identifying name of the snap.",
37+ "type": "string",
38+ "pattern": "^(?:[a-z0-9]|(?<=[a-z0-9])-)*[a-z](?:[a-z0-9]|-(?=[a-z0-9]))*$",
39+ "minLength": 2,
40+ "maxLength": 40
41+ }
42+ },
43+ "required": ["name"]
44+}
45diff --git a/reviewtools/sr_lint.py b/reviewtools/sr_lint.py
46index c94340a..1d71734 100644
47--- a/reviewtools/sr_lint.py
48+++ b/reviewtools/sr_lint.py
49@@ -18,8 +18,6 @@ from __future__ import print_function
50 from reviewtools.sr_common import SnapReview
51 from reviewtools.common import (
52 find_external_symlinks,
53- STORE_PKGNAME_SNAPV2_MAXLEN,
54- STORE_PKGNAME_SNAPV2_MINLEN,
55 )
56 from reviewtools.overrides import (
57 redflagged_snap_types_overrides,
58@@ -33,6 +31,8 @@ import os
59 import re
60 import shlex
61 import unicodedata
62+import jsonschema
63+import json
64
65
66 class SnapReviewLint(SnapReview):
67@@ -77,6 +77,27 @@ class SnapReviewLint(SnapReview):
68 "test-snapd-refresh-control-base",
69 ]
70
71+ def check_schema(self):
72+ """Check snap.yaml against the schema"""
73+ t = "info"
74+ n = self._get_check_name("snap_schema")
75+ s = "OK"
76+ manual_review = False
77+
78+ with open("reviewtools/schemas/snap.json") as fd:
79+ schema = json.loads(fd.read())
80+
81+ try:
82+ jsonschema.validate(self.snap_yaml, schema)
83+ except jsonschema.ValidationError as e:
84+ e.absolute_path.appendleft("$")
85+ t = "error"
86+ s = "Error found in snap.yaml while validating %s: %s" % (
87+ ".".join(e.absolute_path),
88+ e.message,
89+ )
90+ self._add_result(t, n, s, manual_review=manual_review)
91+
92 def check_architectures(self):
93 """Check architectures in snap.yaml is valid"""
94 t = "info"
95@@ -175,39 +196,6 @@ class SnapReviewLint(SnapReview):
96 # snap/validate.go
97 self._check_description_summary_title("title", 40)
98
99- def check_name(self):
100- """Check package name"""
101- t = "info"
102- n = self._get_check_name("name_valid")
103- s = "OK"
104- if "name" not in self.snap_yaml:
105- t = "error"
106- s = "could not find 'name' in yaml"
107- elif not isinstance(self.snap_yaml["name"], str):
108- t = "error"
109- s = "malformed 'name': %s (not a str)" % (self.snap_yaml["name"])
110- elif len(self.snap_yaml["name"]) > STORE_PKGNAME_SNAPV2_MAXLEN:
111- t = "error"
112- s = (
113- "malformed 'name': '%s' " % self.snap_yaml["name"]
114- + "(length '%d' " % len(self.snap_yaml["name"])
115- + "exceeds store limit '%d')" % STORE_PKGNAME_SNAPV2_MAXLEN
116- )
117- elif len(self.snap_yaml["name"]) < STORE_PKGNAME_SNAPV2_MINLEN:
118- t = "error"
119- s = (
120- "malformed 'name': '%s' " % self.snap_yaml["name"]
121- + "(length '%d' " % len(self.snap_yaml["name"])
122- + "below store limit '%d')" % STORE_PKGNAME_SNAPV2_MINLEN
123- )
124- elif not self._verify_pkgname(self.snap_yaml["name"]):
125- t = "error"
126- s = (
127- "malformed 'name': '%s' " % self.snap_yaml["name"]
128- + "(may be only lower case, digits and hyphens)"
129- )
130- self._add_result(t, n, s)
131-
132 def check_type(self):
133 """Check type"""
134 t = "info"
135diff --git a/reviewtools/tests/schemas/test_schema_against_store.py b/reviewtools/tests/schemas/test_schema_against_store.py
136new file mode 100644
137index 0000000..16259e2
138--- /dev/null
139+++ b/reviewtools/tests/schemas/test_schema_against_store.py
140@@ -0,0 +1,76 @@
141+from subprocess import run
142+import json
143+import yaml
144+import os
145+import sys
146+import jsonschema
147+import unittest
148+
149+SNAP_SCHEMA = "reviewtools/schemas/snap.json"
150+SNAP_YAML_CACHE = os.path.expanduser("~/.cache/review-tools")
151+
152+
153+@unittest.skipUnless(
154+ "TEST_SCHEMA_AGAINST_STORE" in os.environ, "not intended to be run by lpci"
155+)
156+def test_store():
157+ # Create cache directory if it does not exist
158+ try:
159+ os.mkdir(
160+ SNAP_YAML_CACHE,
161+ )
162+ except OSError:
163+ pass
164+
165+ # Load schema
166+ with open(SNAP_SCHEMA) as fd:
167+ snap_schema = json.loads(fd.read())
168+
169+ # Get list of snaps in the store
170+ with open("/var/cache/snapd/names", "r") as fd:
171+ snaps = fd.readlines()
172+
173+ rc = 0
174+ for snap in snaps:
175+ snap = snap.strip("\n ")
176+
177+ # Load the snap.yaml if cached, otherwise download it from the store
178+ snap_file = os.path.join(SNAP_YAML_CACHE, snap + "_yaml.json")
179+ if os.path.exists(snap_file):
180+ with open(snap_file) as fd:
181+ snap_yaml = json.loads(fd.read())
182+ else:
183+ try:
184+ p = run(
185+ ["review-tools.store-query", "--snap-yaml", snap],
186+ capture_output=True,
187+ )
188+ snap_yaml = yaml.safe_load(p.stdout.decode())
189+ except Exception as e:
190+ print(
191+ "Error occurred while getting snap.yaml for %s: %s" % (snap, str(e))
192+ )
193+ continue
194+
195+ with open(snap_file, "w") as fd:
196+ fd.write(json.dumps(snap_yaml))
197+
198+ # There are some snaps that has no snap.yaml. Skip them for now
199+ if snap_yaml is None:
200+ continue
201+
202+ # Validate the snap.yaml against the schema
203+ try:
204+ jsonschema.validate(snap_yaml, snap_schema)
205+ except jsonschema.ValidationError as e:
206+ print(
207+ "Error to validate %s for snap %s: %s" % (e.json_path, snap, e.message)
208+ )
209+ rc = 1
210+
211+ sys.exit(rc)
212+
213+
214+if __name__ == "__main__":
215+ if os.environ.get("TEST_SCHEMA_AGAINST_STORE"):
216+ test_store()
217diff --git a/reviewtools/tests/schemas/test_schema_base.py b/reviewtools/tests/schemas/test_schema_base.py
218new file mode 100644
219index 0000000..b41f5dd
220--- /dev/null
221+++ b/reviewtools/tests/schemas/test_schema_base.py
222@@ -0,0 +1,44 @@
223+import json
224+import jsonschema
225+import copy
226+import unittest
227+
228+
229+class TestSchemaBase(unittest.TestCase):
230+ yaml = {}
231+ schema_file = "reviewtools/schemas/****.json"
232+
233+ def setUp(self):
234+ # Load the relevant schema (defined in subclass)
235+ with open(self.schema_file) as fd:
236+ self.schema = json.loads(fd.read())
237+
238+ # Validate base yaml against the schema
239+ error = self._validate(self.yaml, self.schema)
240+ self.assertEqual(None, error)
241+
242+ def _validate(self, yaml, schema):
243+ # Validate yaml against the schema
244+ try:
245+ jsonschema.validate(yaml, schema)
246+ return None
247+ except jsonschema.ValidationError as e:
248+ return e.message
249+
250+ def _test_value(self, key, value, expected_error):
251+ # Prepare yaml, make a copy so we use the pristine yaml on each subtest
252+ yaml = copy.deepcopy(self.yaml)
253+ if value is None:
254+ if key in yaml:
255+ del yaml[key]
256+ else:
257+ yaml[key] = value
258+
259+ # Validate the schema
260+ error = self._validate(yaml, self.schema)
261+
262+ # Compare the errors against the expected ones
263+ if expected_error is None:
264+ self.assertIsNone(error)
265+ else:
266+ self.assertIn(expected_error, error)
267diff --git a/reviewtools/tests/schemas/test_schema_snap.py b/reviewtools/tests/schemas/test_schema_snap.py
268new file mode 100644
269index 0000000..315b278
270--- /dev/null
271+++ b/reviewtools/tests/schemas/test_schema_snap.py
272@@ -0,0 +1,67 @@
273+from reviewtools.tests.schemas.test_schema_base import TestSchemaBase
274+
275+
276+class TestSchemaSnap(TestSchemaBase):
277+
278+ schema_file = "reviewtools/schemas/snap.json"
279+
280+ def setUp(self):
281+ self.yaml = {
282+ "name": "foo",
283+ "version": "0.1",
284+ "type": "app",
285+ "description": "Test description",
286+ "summary": "Test summary",
287+ }
288+ super(TestSchemaSnap, self).setUp()
289+
290+ def test_name(self):
291+ for value, error in [
292+ # test_check_name_toplevel
293+ ("foo", None),
294+ # test_check_name_toplevel_startswith_number
295+ ("01game", None),
296+ # test_check_name_toplevel_maxlen_for_store
297+ ("a" * 40, None),
298+ # test_check_name_toplevel_minlen_for_store
299+ ("a" * 2, None),
300+ # test_check_name_toplevel_too_long_for_store
301+ ("a" * 41, "'{value}' is too long"),
302+ # test_check_name_toplevel_too_short_for_store
303+ ("a", "'{value}' is too short"),
304+ # test_check_name_toplevel_efficient
305+ ("u-94903713687486543234157734673284536758", None),
306+ # test_check_name_flat
307+ ("foo.bar", "'{value}' does not match "),
308+ # test_check_name_reverse_domain
309+ ("com.ubuntu.develeper.baz.foo", "'{value}' does not match "),
310+ # test_check_name_bad - ?
311+ ("foo?bar", "'{value}' does not match "),
312+ # test_check_name_bad1 - /
313+ ("foo/bar", "'{value}' does not match "),
314+ # test_check_name_bad2 - empty
315+ ("", "'{value}' does not match "),
316+ # test_check_name_bad3 - list
317+ ([], "{value} is not of type 'string'"),
318+ # test_check_name_bad4 - dict
319+ ({}, "{value} is not of type 'string'"),
320+ # test_check_name_bad5 - --
321+ ("foo--bar", "'{value}' does not match "),
322+ # test_check_name_bad6 - endswith -
323+ ("foo-bar-", "'{value}' does not match "),
324+ # test_check_name_bad6b - startswith -
325+ ("-foo-bar", "'{value}' does not match "),
326+ # test_check_name_bad7
327+ ("foo-Bar", "'{value}' does not match "),
328+ # test_check_name_bad8 - cap
329+ ("01", "'{value}' does not match "),
330+ # test_check_name_bad9 - all numbers and dashes
331+ ("0-1", "'{value}' does not match "),
332+ # test_check_name_missing
333+ (None, "'name' is a required property"),
334+ # ### integer
335+ (2, "{value} is not of type 'string'"),
336+ ]:
337+ with self.subTest(value=value):
338+ error = error.replace("{value}", str(value)) if error else error
339+ self._test_value("name", value, error)
340diff --git a/reviewtools/tests/test_sr_lint.py b/reviewtools/tests/test_sr_lint.py
341index 46f141c..d720017 100644
342--- a/reviewtools/tests/test_sr_lint.py
343+++ b/reviewtools/tests/test_sr_lint.py
344@@ -144,215 +144,6 @@ class TestSnapReviewLint(sr_tests.TestSnapReview):
345 sum += len(c.review_report[i])
346 self.assertTrue(sum != 0)
347
348- def test_check_name_toplevel(self):
349- """Test check_name - toplevel"""
350- self.set_test_snap_yaml("name", "foo")
351- c = SnapReviewLint(self.test_name)
352- c.check_name()
353- r = c.review_report
354- expected_counts = {"info": 1, "warn": 0, "error": 0}
355- self.check_results(r, expected_counts)
356-
357- def test_check_name_toplevel_startswith_number(self):
358- """Test check_name - toplevel starts with number"""
359- self.set_test_snap_yaml("name", "01game")
360- c = SnapReviewLint(self.test_name)
361- c.check_name()
362- r = c.review_report
363- expected_counts = {"info": 1, "warn": 0, "error": 0}
364- self.check_results(r, expected_counts)
365-
366- def test_check_name_toplevel_maxlen_for_store(self):
367- """Test check_name - toplevel maxlen for store"""
368- self.set_test_snap_yaml("name", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa40chars")
369- c = SnapReviewLint(self.test_name)
370- c.check_name()
371- r = c.review_report
372- expected_counts = {"info": 1, "warn": 0, "error": 0}
373- self.check_results(r, expected_counts)
374-
375- def test_check_name_toplevel_minlen_for_store(self):
376- """Test check_name - toplevel minlen for store"""
377- self.set_test_snap_yaml("name", "aa")
378- c = SnapReviewLint(self.test_name)
379- c.check_name()
380- r = c.review_report
381- expected_counts = {"info": 1, "warn": 0, "error": 0}
382- self.check_results(r, expected_counts)
383-
384- def test_check_name_toplevel_too_long_for_store(self):
385- """Test check_name - toplevel too long for store"""
386- self.set_test_snap_yaml("name", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa41chars")
387- c = SnapReviewLint(self.test_name)
388- c.check_name()
389- r = c.review_report
390- expected_counts = {"info": None, "warn": 0, "error": 1}
391- self.check_results(r, expected_counts)
392-
393- expected = dict()
394- expected["error"] = dict()
395- expected["warn"] = dict()
396- expected["info"] = dict()
397- name = "lint-snap-v2:name_valid"
398- expected["error"][name] = {
399- "text": "malformed 'name': 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa41chars' (length '41' exceeds store limit '40')"
400- }
401- self.check_results(r, expected=expected)
402-
403- def test_check_name_toplevel_too_short_for_store(self):
404- """Test check_name - toplevel too short for store"""
405- self.set_test_snap_yaml("name", "a")
406- c = SnapReviewLint(self.test_name)
407- c.check_name()
408- r = c.review_report
409- expected_counts = {"info": None, "warn": 0, "error": 1}
410- self.check_results(r, expected_counts)
411-
412- expected = dict()
413- expected["error"] = dict()
414- expected["warn"] = dict()
415- expected["info"] = dict()
416- name = "lint-snap-v2:name_valid"
417- expected["error"][name] = {
418- "text": "malformed 'name': 'a' (length '1' below store limit '2')"
419- }
420- self.check_results(r, expected=expected)
421-
422- def test_check_name_toplevel_efficient(self):
423- """Test check_name - toplevel is efficient"""
424- self.set_test_snap_yaml("name", "u-94903713687486543234157734673284536758")
425- c = SnapReviewLint(self.test_name)
426- c.check_name()
427- r = c.review_report
428- expected_counts = {"info": 1, "warn": 0, "error": 0}
429- self.check_results(r, expected_counts)
430-
431- def test_check_name_flat(self):
432- """Test check_name - obsoleted flat"""
433- self.set_test_snap_yaml("name", "foo.bar")
434- c = SnapReviewLint(self.test_name)
435- c.check_name()
436- r = c.review_report
437- expected_counts = {"info": None, "warn": 0, "error": 1}
438- self.check_results(r, expected_counts)
439-
440- def test_check_name_reverse_domain(self):
441- """Test check_name - obsoleted reverse domain"""
442- self.set_test_snap_yaml("name", "com.ubuntu.develeper.baz.foo")
443- c = SnapReviewLint(self.test_name)
444- c.check_name()
445- r = c.review_report
446- expected_counts = {"info": None, "warn": 0, "error": 1}
447- self.check_results(r, expected_counts)
448-
449- def test_check_name_bad(self):
450- """Test check_name - bad - ?"""
451- self.set_test_snap_yaml("name", "foo?bar")
452- c = SnapReviewLint(self.test_name)
453- c.check_name()
454- r = c.review_report
455- expected_counts = {"info": None, "warn": 0, "error": 1}
456- self.check_results(r, expected_counts)
457-
458- def test_check_name_bad1(self):
459- """Test check_name - bad - /"""
460- self.set_test_snap_yaml("name", "foo/bar")
461- c = SnapReviewLint(self.test_name)
462- c.check_name()
463- r = c.review_report
464- expected_counts = {"info": None, "warn": 0, "error": 1}
465- self.check_results(r, expected_counts)
466-
467- def test_check_name_bad2(self):
468- """Test check_name - empty"""
469- self.set_test_snap_yaml("name", "")
470- c = SnapReviewLint(self.test_name)
471- c.check_name()
472- r = c.review_report
473- expected_counts = {"info": None, "warn": 0, "error": 1}
474- self.check_results(r, expected_counts)
475-
476- def test_check_name_bad3(self):
477- """Test check_name - list"""
478- self.set_test_snap_yaml("name", [])
479- c = SnapReviewLint(self.test_name)
480- c.check_name()
481- r = c.review_report
482- expected_counts = {"info": None, "warn": 0, "error": 1}
483- self.check_results(r, expected_counts)
484-
485- def test_check_name_bad4(self):
486- """Test check_name - dict"""
487- self.set_test_snap_yaml("name", {})
488- c = SnapReviewLint(self.test_name)
489- c.check_name()
490- r = c.review_report
491- expected_counts = {"info": None, "warn": 0, "error": 1}
492- self.check_results(r, expected_counts)
493-
494- def test_check_name_bad5(self):
495- """Test check_name - bad - --"""
496- self.set_test_snap_yaml("name", "foo--bar")
497- c = SnapReviewLint(self.test_name)
498- c.check_name()
499- r = c.review_report
500- expected_counts = {"info": None, "warn": 0, "error": 1}
501- self.check_results(r, expected_counts)
502-
503- def test_check_name_bad6(self):
504- """Test check_name - bad - endswith -"""
505- self.set_test_snap_yaml("name", "foo-bar-")
506- c = SnapReviewLint(self.test_name)
507- c.check_name()
508- r = c.review_report
509- expected_counts = {"info": None, "warn": 0, "error": 1}
510- self.check_results(r, expected_counts)
511-
512- def test_check_name_bad6b(self):
513- """Test check_name - bad - startswith -"""
514- self.set_test_snap_yaml("name", "-foo-bar")
515- c = SnapReviewLint(self.test_name)
516- c.check_name()
517- r = c.review_report
518- expected_counts = {"info": None, "warn": 0, "error": 1}
519- self.check_results(r, expected_counts)
520-
521- def test_check_name_bad7(self):
522- """Test check_name - bad - cap"""
523- self.set_test_snap_yaml("name", "foo-Bar")
524- c = SnapReviewLint(self.test_name)
525- c.check_name()
526- r = c.review_report
527- expected_counts = {"info": None, "warn": 0, "error": 1}
528- self.check_results(r, expected_counts)
529-
530- def test_check_name_bad8(self):
531- """Test check_name - bad - all numbers"""
532- self.set_test_snap_yaml("name", "01")
533- c = SnapReviewLint(self.test_name)
534- c.check_name()
535- r = c.review_report
536- expected_counts = {"info": None, "warn": 0, "error": 1}
537- self.check_results(r, expected_counts)
538-
539- def test_check_name_bad9(self):
540- """Test check_name - bad - all numbers and dashes"""
541- self.set_test_snap_yaml("name", "0-1")
542- c = SnapReviewLint(self.test_name)
543- c.check_name()
544- r = c.review_report
545- expected_counts = {"info": None, "warn": 0, "error": 1}
546- self.check_results(r, expected_counts)
547-
548- def test_check_name_missing(self):
549- """Test check_name - missing"""
550- self.set_test_snap_yaml("name", None)
551- c = SnapReviewLint(self.test_name)
552- c.check_name()
553- r = c.review_report
554- expected_counts = {"info": None, "warn": 0, "error": 1}
555- self.check_results(r, expected_counts)
556-
557 def test_check_version(self):
558 """Test check_version"""
559 self.set_test_snap_yaml("version", 1)
560diff --git a/tests/test.sh.expected b/tests/test.sh.expected
561index 3a8ff06..8c7535c 100644
562--- a/tests/test.sh.expected
563+++ b/tests/test.sh.expected
564@@ -55,10 +55,6 @@ bare_1.0_all.snap: pass
565 "manual_review": false,
566 "text": "OK"
567 },
568- "lint-snap-v2:name_valid": {
569- "manual_review": false,
570- "text": "OK"
571- },
572 "lint-snap-v2:snap_type_redflag": {
573 "manual_review": false,
574 "text": "OK (override 'bare' for 'type: base')"
575@@ -170,10 +166,6 @@ bare_1.0_all.snap: pass
576 "manual_review": false,
577 "text": "OK"
578 },
579- "lint-snap-v2:name_valid": {
580- "manual_review": false,
581- "text": "OK"
582- },
583 "lint-snap-v2:snap_type_redflag": {
584 "manual_review": false,
585 "text": "OK (override 'bare' for 'type: base')"
586@@ -322,10 +314,6 @@ busybox-static-mvo_2.snap: pass
587 "manual_review": false,
588 "text": "OK"
589 },
590- "lint-snap-v2:name_valid": {
591- "manual_review": false,
592- "text": "OK"
593- },
594 "lint-snap-v2:snap_type_redflag": {
595 "manual_review": false,
596 "text": "OK"
597@@ -481,10 +469,6 @@ busybox-static-mvo_2.snap: pass
598 "manual_review": false,
599 "text": "OK"
600 },
601- "lint-snap-v2:name_valid": {
602- "manual_review": false,
603- "text": "OK"
604- },
605 "lint-snap-v2:snap_type_redflag": {
606 "manual_review": false,
607 "text": "OK"
608@@ -759,10 +743,6 @@ chrome-test_52.0.2743.116-1+test1_amd64.snap: FAIL
609 "manual_review": false,
610 "text": "OK"
611 },
612- "lint-snap-v2:name_valid": {
613- "manual_review": false,
614- "text": "OK"
615- },
616 "lint-snap-v2:plugs:browser-support:browser-sandbox": {
617 "manual_review": false,
618 "text": "OK"
619@@ -1040,10 +1020,6 @@ chrome-test_52.0.2743.116-1+test1_amd64.snap: FAIL
620 "manual_review": false,
621 "text": "OK"
622 },
623- "lint-snap-v2:name_valid": {
624- "manual_review": false,
625- "text": "OK"
626- },
627 "lint-snap-v2:plugs:browser-support:browser-sandbox": {
628 "manual_review": false,
629 "text": "OK"
630@@ -1212,10 +1188,6 @@ chromium-lzo_1.snap: pass
631 "manual_review": false,
632 "text": "OK"
633 },
634- "lint-snap-v2:name_valid": {
635- "manual_review": false,
636- "text": "OK"
637- },
638 "lint-snap-v2:snap_type_redflag": {
639 "manual_review": false,
640 "text": "OK"
641@@ -1371,10 +1343,6 @@ chromium-lzo_1.snap: pass
642 "manual_review": false,
643 "text": "OK"
644 },
645- "lint-snap-v2:name_valid": {
646- "manual_review": false,
647- "text": "OK"
648- },
649 "lint-snap-v2:snap_type_redflag": {
650 "manual_review": false,
651 "text": "OK"
652@@ -1596,10 +1564,6 @@ classic_16.04+test1_all.snap: FAIL
653 "manual_review": false,
654 "text": "OK"
655 },
656- "lint-snap-v2:name_valid": {
657- "manual_review": false,
658- "text": "OK"
659- },
660 "lint-snap-v2:plugs:classic-support:classic-support": {
661 "manual_review": false,
662 "text": "OK"
663@@ -1824,10 +1788,6 @@ classic_16.04+test1_all.snap: FAIL
664 "manual_review": false,
665 "text": "OK"
666 },
667- "lint-snap-v2:name_valid": {
668- "manual_review": false,
669- "text": "OK"
670- },
671 "lint-snap-v2:plugs:classic-support:classic-support": {
672 "manual_review": false,
673 "text": "OK"
674@@ -2021,10 +1981,6 @@ devmode-home_0.1_amd64.snap: pass
675 "manual_review": false,
676 "text": "OK"
677 },
678- "lint-snap-v2:name_valid": {
679- "manual_review": false,
680- "text": "OK"
681- },
682 "lint-snap-v2:snap_type_redflag": {
683 "manual_review": false,
684 "text": "OK"
685@@ -2197,10 +2153,6 @@ devmode-home_0.1_amd64.snap: pass
686 "manual_review": false,
687 "text": "OK"
688 },
689- "lint-snap-v2:name_valid": {
690- "manual_review": false,
691- "text": "OK"
692- },
693 "lint-snap-v2:snap_type_redflag": {
694 "manual_review": false,
695 "text": "OK"
696@@ -2559,10 +2511,6 @@ firefox_48.0+build2-0ubuntu0.16.04.1+_amd64.snap: FAIL
697 "manual_review": false,
698 "text": "OK"
699 },
700- "lint-snap-v2:name_valid": {
701- "manual_review": false,
702- "text": "OK"
703- },
704 "lint-snap-v2:plugs:browser-support:browser-sandbox": {
705 "manual_review": false,
706 "text": "OK"
707@@ -2928,10 +2876,6 @@ firefox_48.0+build2-0ubuntu0.16.04.1+_amd64.snap: FAIL
708 "manual_review": false,
709 "text": "OK"
710 },
711- "lint-snap-v2:name_valid": {
712- "manual_review": false,
713- "text": "OK"
714- },
715 "lint-snap-v2:plugs:browser-support:browser-sandbox": {
716 "manual_review": false,
717 "text": "OK"
718@@ -3079,10 +3023,6 @@ gke-kernel_4.15.0-1027.28~16.04.1_amd64.snap: pass
719 "manual_review": false,
720 "text": "OK"
721 },
722- "lint-snap-v2:name_valid": {
723- "manual_review": false,
724- "text": "OK"
725- },
726 "lint-snap-v2:snap_manifest": {
727 "manual_review": false,
728 "text": "OK"
729@@ -3197,10 +3137,6 @@ gke-kernel_4.15.0-1027.28~16.04.1_amd64.snap: pass
730 "manual_review": false,
731 "text": "OK"
732 },
733- "lint-snap-v2:name_valid": {
734- "manual_review": false,
735- "text": "OK"
736- },
737 "lint-snap-v2:snap_manifest": {
738 "manual_review": false,
739 "text": "OK"
740@@ -3320,10 +3256,6 @@ gke-kernel_4.15.0-1069.72_amd64.snap: pass
741 "manual_review": false,
742 "text": "OK"
743 },
744- "lint-snap-v2:name_valid": {
745- "manual_review": false,
746- "text": "OK"
747- },
748 "lint-snap-v2:snap_manifest": {
749 "manual_review": false,
750 "text": "OK"
751@@ -3438,10 +3370,6 @@ gke-kernel_4.15.0-1069.72_amd64.snap: pass
752 "manual_review": false,
753 "text": "OK"
754 },
755- "lint-snap-v2:name_valid": {
756- "manual_review": false,
757- "text": "OK"
758- },
759 "lint-snap-v2:snap_manifest": {
760 "manual_review": false,
761 "text": "OK"
762@@ -3716,10 +3644,6 @@ glance_ocata_amd64.snap: pass
763 "manual_review": false,
764 "text": "OK"
765 },
766- "lint-snap-v2:name_valid": {
767- "manual_review": false,
768- "text": "OK"
769- },
770 "lint-snap-v2:snap_type_redflag": {
771 "manual_review": false,
772 "text": "OK"
773@@ -4009,10 +3933,6 @@ glance_ocata_amd64.snap: pass
774 "manual_review": false,
775 "text": "OK"
776 },
777- "lint-snap-v2:name_valid": {
778- "manual_review": false,
779- "text": "OK"
780- },
781 "lint-snap-v2:snap_type_redflag": {
782 "manual_review": false,
783 "text": "OK"
784@@ -4339,10 +4259,6 @@ hello-world_25.snap: pass
785 "manual_review": false,
786 "text": "OK"
787 },
788- "lint-snap-v2:name_valid": {
789- "manual_review": false,
790- "text": "OK"
791- },
792 "lint-snap-v2:snap_type_redflag": {
793 "manual_review": false,
794 "text": "OK"
795@@ -4638,10 +4554,6 @@ hello-world_25.snap: pass
796 "manual_review": false,
797 "text": "OK"
798 },
799- "lint-snap-v2:name_valid": {
800- "manual_review": false,
801- "text": "OK"
802- },
803 "lint-snap-v2:snap_type_redflag": {
804 "manual_review": false,
805 "text": "OK"
806@@ -4797,10 +4709,6 @@ linux-generic-bbb_4.4.0-140-1_armhf.snap: pass
807 "manual_review": false,
808 "text": "OK"
809 },
810- "lint-snap-v2:name_valid": {
811- "manual_review": false,
812- "text": "OK"
813- },
814 "lint-snap-v2:snap_manifest": {
815 "manual_review": false,
816 "text": "OK"
817@@ -4915,10 +4823,6 @@ linux-generic-bbb_4.4.0-140-1_armhf.snap: pass
818 "manual_review": false,
819 "text": "OK"
820 },
821- "lint-snap-v2:name_valid": {
822- "manual_review": false,
823- "text": "OK"
824- },
825 "lint-snap-v2:snap_manifest": {
826 "manual_review": false,
827 "text": "OK"
828@@ -5071,10 +4975,6 @@ minimumsize_0.1_amd64.snap: pass
829 "manual_review": false,
830 "text": "OK"
831 },
832- "lint-snap-v2:name_valid": {
833- "manual_review": false,
834- "text": "OK"
835- },
836 "lint-snap-v2:snap_type_redflag": {
837 "manual_review": false,
838 "text": "OK"
839@@ -5218,10 +5118,6 @@ minimumsize_0.1_amd64.snap: pass
840 "manual_review": false,
841 "text": "OK"
842 },
843- "lint-snap-v2:name_valid": {
844- "manual_review": false,
845- "text": "OK"
846- },
847 "lint-snap-v2:snap_type_redflag": {
848 "manual_review": false,
849 "text": "OK"
850@@ -5378,10 +5274,6 @@ network-manager_1.10.6-2ubuntu1.0+dbce8fd2_amd64.snap: pass
851 "manual_review": false,
852 "text": "OK"
853 },
854- "lint-snap-v2:name_valid": {
855- "manual_review": false,
856- "text": "OK"
857- },
858 "lint-snap-v2:snap_manifest": {
859 "manual_review": false,
860 "text": "OK"
861@@ -5553,10 +5445,6 @@ network-manager_1.10.6-2ubuntu1.0+dbce8fd2_amd64.snap: pass
862 "manual_review": false,
863 "text": "OK"
864 },
865- "lint-snap-v2:name_valid": {
866- "manual_review": false,
867- "text": "OK"
868- },
869 "lint-snap-v2:snap_manifest": {
870 "manual_review": false,
871 "text": "OK"
872@@ -5786,10 +5674,6 @@ network-manager_1.2.2-1+test1_amd64.snap: FAIL
873 "manual_review": false,
874 "text": "OK"
875 },
876- "lint-snap-v2:name_valid": {
877- "manual_review": false,
878- "text": "OK"
879- },
880 "lint-snap-v2:plugs:interface:network-manager": {
881 "manual_review": false,
882 "text": "OK"
883@@ -6024,10 +5908,6 @@ network-manager_1.2.2-1+test1_amd64.snap: FAIL
884 "manual_review": false,
885 "text": "OK"
886 },
887- "lint-snap-v2:name_valid": {
888- "manual_review": false,
889- "text": "OK"
890- },
891 "lint-snap-v2:plugs:interface:network-manager": {
892 "manual_review": false,
893 "text": "OK"
894@@ -6252,10 +6132,6 @@ nix-example-jormungandr_f7xva0vh9fzv20vhyr121yd6ahplqh9v_amd64.snap: pass
895 "manual_review": false,
896 "text": "OK"
897 },
898- "lint-snap-v2:name_valid": {
899- "manual_review": false,
900- "text": "OK"
901- },
902 "lint-snap-v2:snap_type_redflag": {
903 "manual_review": false,
904 "text": "OK"
905@@ -6459,10 +6335,6 @@ nix-example-jormungandr_f7xva0vh9fzv20vhyr121yd6ahplqh9v_amd64.snap: pass
906 "manual_review": false,
907 "text": "OK"
908 },
909- "lint-snap-v2:name_valid": {
910- "manual_review": false,
911- "text": "OK"
912- },
913 "lint-snap-v2:snap_type_redflag": {
914 "manual_review": false,
915 "text": "OK"
916@@ -6760,10 +6632,6 @@ nix-example_g7qmi8r4qwws6fhwschfb8aib5wl0x1q_amd64.snap: pass
917 "manual_review": false,
918 "text": "desktop interfaces (x11) specified without a corresponding meta/gui/*.desktop file. If your application does not require a desktop file, you may ignore this. Otherwise, if using snapcraft, please see https://snapcraft.io/docs/build-snaps/metadata#fixed-assets or provide a desktop file in meta/gui/*.desktop (it should reference one of the 'apps' from your snapcraft/snap.yaml)."
919 },
920- "lint-snap-v2:name_valid": {
921- "manual_review": false,
922- "text": "OK"
923- },
924 "lint-snap-v2:snap_type_redflag": {
925 "manual_review": false,
926 "text": "OK"
927@@ -7052,10 +6920,6 @@ nix-example_g7qmi8r4qwws6fhwschfb8aib5wl0x1q_amd64.snap: pass
928 "manual_review": false,
929 "text": "desktop interfaces (x11) specified without a corresponding meta/gui/*.desktop file. If your application does not require a desktop file, you may ignore this. Otherwise, if using snapcraft, please see https://snapcraft.io/docs/build-snaps/metadata#fixed-assets or provide a desktop file in meta/gui/*.desktop (it should reference one of the 'apps' from your snapcraft/snap.yaml)."
930 },
931- "lint-snap-v2:name_valid": {
932- "manual_review": false,
933- "text": "OK"
934- },
935 "lint-snap-v2:snap_type_redflag": {
936 "manual_review": false,
937 "text": "OK"
938@@ -7241,10 +7105,6 @@ notify-send_1_amd64.snap: pass
939 "manual_review": false,
940 "text": "OK"
941 },
942- "lint-snap-v2:name_valid": {
943- "manual_review": false,
944- "text": "OK"
945- },
946 "lint-snap-v2:snap_type_redflag": {
947 "manual_review": false,
948 "text": "OK"
949@@ -7425,10 +7285,6 @@ notify-send_1_amd64.snap: pass
950 "manual_review": false,
951 "text": "OK"
952 },
953- "lint-snap-v2:name_valid": {
954- "manual_review": false,
955- "text": "OK"
956- },
957 "lint-snap-v2:snap_type_redflag": {
958 "manual_review": false,
959 "text": "OK"
960@@ -7560,10 +7416,6 @@ pc-kernel_4.15.0-44.46_i386.snap: pass
961 "manual_review": false,
962 "text": "OK"
963 },
964- "lint-snap-v2:name_valid": {
965- "manual_review": false,
966- "text": "OK"
967- },
968 "lint-snap-v2:snap_manifest": {
969 "manual_review": false,
970 "text": "OK"
971@@ -7678,10 +7530,6 @@ pc-kernel_4.15.0-44.46_i386.snap: pass
972 "manual_review": false,
973 "text": "OK"
974 },
975- "lint-snap-v2:name_valid": {
976- "manual_review": false,
977- "text": "OK"
978- },
979 "lint-snap-v2:snap_manifest": {
980 "manual_review": false,
981 "text": "OK"
982@@ -7801,10 +7649,6 @@ pc-kernel_4.4.0-141.167_amd64.snap: pass
983 "manual_review": false,
984 "text": "OK"
985 },
986- "lint-snap-v2:name_valid": {
987- "manual_review": false,
988- "text": "OK"
989- },
990 "lint-snap-v2:snap_manifest": {
991 "manual_review": false,
992 "text": "OK"
993@@ -7919,10 +7763,6 @@ pc-kernel_4.4.0-141.167_amd64.snap: pass
994 "manual_review": false,
995 "text": "OK"
996 },
997- "lint-snap-v2:name_valid": {
998- "manual_review": false,
999- "text": "OK"
1000- },
1001 "lint-snap-v2:snap_manifest": {
1002 "manual_review": false,
1003 "text": "OK"
1004@@ -8034,10 +7874,6 @@ pc.canonical_5.snap: pass
1005 "manual_review": false,
1006 "text": "OK"
1007 },
1008- "lint-snap-v2:name_valid": {
1009- "manual_review": false,
1010- "text": "OK"
1011- },
1012 "lint-snap-v2:snap_type_redflag": {
1013 "manual_review": false,
1014 "text": "OK (override 'pc' for 'type: gadget')"
1015@@ -8144,10 +7980,6 @@ pc.canonical_5.snap: pass
1016 "manual_review": false,
1017 "text": "OK"
1018 },
1019- "lint-snap-v2:name_valid": {
1020- "manual_review": false,
1021- "text": "OK"
1022- },
1023 "lint-snap-v2:snap_type_redflag": {
1024 "manual_review": false,
1025 "text": "OK (override 'pc' for 'type: gadget')"
1026@@ -9353,10 +9185,6 @@ quagga_1.0.20160315-alpha2-git.c6fadc4+_amd64.snap: pass
1027 "manual_review": false,
1028 "text": "OK"
1029 },
1030- "lint-snap-v2:name_valid": {
1031- "manual_review": false,
1032- "text": "OK"
1033- },
1034 "lint-snap-v2:snap_type_redflag": {
1035 "manual_review": false,
1036 "text": "OK"
1037@@ -10637,10 +10465,6 @@ quagga_1.0.20160315-alpha2-git.c6fadc4+_amd64.snap: pass
1038 "manual_review": false,
1039 "text": "OK"
1040 },
1041- "lint-snap-v2:name_valid": {
1042- "manual_review": false,
1043- "text": "OK"
1044- },
1045 "lint-snap-v2:snap_type_redflag": {
1046 "manual_review": false,
1047 "text": "OK"
1048@@ -10882,10 +10706,6 @@ snap-test-arch-all-warning_1_all.snap: FAIL
1049 "manual_review": false,
1050 "text": "OK"
1051 },
1052- "lint-snap-v2:name_valid": {
1053- "manual_review": false,
1054- "text": "OK"
1055- },
1056 "lint-snap-v2:snap_type_redflag": {
1057 "manual_review": false,
1058 "text": "OK"
1059@@ -11050,10 +10870,6 @@ snap-test-arch-all-warning_1_all.snap: FAIL
1060 "manual_review": false,
1061 "text": "OK"
1062 },
1063- "lint-snap-v2:name_valid": {
1064- "manual_review": false,
1065- "text": "OK"
1066- },
1067 "lint-snap-v2:snap_type_redflag": {
1068 "manual_review": false,
1069 "text": "OK"
1070@@ -11223,10 +11039,6 @@ snappy-debug_20.snap: pass
1071 "manual_review": false,
1072 "text": "OK"
1073 },
1074- "lint-snap-v2:name_valid": {
1075- "manual_review": false,
1076- "text": "OK"
1077- },
1078 "lint-snap-v2:snap_type_redflag": {
1079 "manual_review": false,
1080 "text": "OK"
1081@@ -11395,10 +11207,6 @@ snappy-debug_20.snap: pass
1082 "manual_review": false,
1083 "text": "OK"
1084 },
1085- "lint-snap-v2:name_valid": {
1086- "manual_review": false,
1087- "text": "OK"
1088- },
1089 "lint-snap-v2:snap_type_redflag": {
1090 "manual_review": false,
1091 "text": "OK"
1092@@ -11580,10 +11388,6 @@ snappy-test-iface-attribs_0.1_all.snap: pass
1093 "manual_review": false,
1094 "text": "OK"
1095 },
1096- "lint-snap-v2:name_valid": {
1097- "manual_review": false,
1098- "text": "OK"
1099- },
1100 "lint-snap-v2:plugs:content:consume": {
1101 "manual_review": false,
1102 "text": "OK"
1103@@ -11796,10 +11600,6 @@ snappy-test-iface-attribs_0.1_all.snap: pass
1104 "manual_review": false,
1105 "text": "OK"
1106 },
1107- "lint-snap-v2:name_valid": {
1108- "manual_review": false,
1109- "text": "OK"
1110- },
1111 "lint-snap-v2:plugs:content:consume": {
1112 "manual_review": false,
1113 "text": "OK"
1114@@ -14426,10 +14226,6 @@ test-all-app_1_all.snap: FAIL
1115 "manual_review": false,
1116 "text": "OK"
1117 },
1118- "lint-snap-v2:name_valid": {
1119- "manual_review": false,
1120- "text": "OK"
1121- },
1122 "lint-snap-v2:plugs:browser-support:browser-sandbox": {
1123 "manual_review": false,
1124 "text": "OK"
1125@@ -17403,10 +17199,6 @@ test-all-app_1_all.snap: FAIL
1126 "manual_review": false,
1127 "text": "OK"
1128 },
1129- "lint-snap-v2:name_valid": {
1130- "manual_review": false,
1131- "text": "OK"
1132- },
1133 "lint-snap-v2:plugs:browser-support:browser-sandbox": {
1134 "manual_review": false,
1135 "text": "OK"
1136@@ -18160,10 +17952,6 @@ test-all-core_1_all.snap: FAIL
1137 "manual_review": false,
1138 "text": "OK"
1139 },
1140- "lint-snap-v2:name_valid": {
1141- "manual_review": false,
1142- "text": "OK"
1143- },
1144 "lint-snap-v2:slots:bluetooth-control:bluetooth-control": {
1145 "manual_review": false,
1146 "text": "OK"
1147@@ -18720,10 +18508,6 @@ test-all-core_1_all.snap: FAIL
1148 "manual_review": false,
1149 "text": "OK"
1150 },
1151- "lint-snap-v2:name_valid": {
1152- "manual_review": false,
1153- "text": "OK"
1154- },
1155 "lint-snap-v2:slots:bluetooth-control:bluetooth-control": {
1156 "manual_review": false,
1157 "text": "OK"
1158@@ -19141,10 +18925,6 @@ test-all-gadget_3_all.snap: FAIL
1159 "manual_review": false,
1160 "text": "OK"
1161 },
1162- "lint-snap-v2:name_valid": {
1163- "manual_review": false,
1164- "text": "OK"
1165- },
1166 "lint-snap-v2:slots:bool-file:bool-file": {
1167 "manual_review": false,
1168 "text": "OK"
1169@@ -19449,10 +19229,6 @@ test-all-gadget_3_all.snap: FAIL
1170 "manual_review": false,
1171 "text": "OK"
1172 },
1173- "lint-snap-v2:name_valid": {
1174- "manual_review": false,
1175- "text": "OK"
1176- },
1177 "lint-snap-v2:slots:bool-file:bool-file": {
1178 "manual_review": false,
1179 "text": "OK"
1180@@ -19756,10 +19532,6 @@ test-app-devnull_1.0_all.snap: FAIL
1181 "manual_review": false,
1182 "text": "OK"
1183 },
1184- "lint-snap-v2:name_valid": {
1185- "manual_review": false,
1186- "text": "OK"
1187- },
1188 "lint-snap-v2:snap_type_redflag": {
1189 "manual_review": false,
1190 "text": "OK"
1191@@ -19921,10 +19693,6 @@ test-app-devnull_1.0_all.snap: FAIL
1192 "manual_review": false,
1193 "text": "OK"
1194 },
1195- "lint-snap-v2:name_valid": {
1196- "manual_review": false,
1197- "text": "OK"
1198- },
1199 "lint-snap-v2:snap_type_redflag": {
1200 "manual_review": false,
1201 "text": "OK"
1202@@ -20129,10 +19897,6 @@ test-bad-desktop-file-icon_1_all.snap: FAIL
1203 "manual_review": false,
1204 "text": "OK"
1205 },
1206- "lint-snap-v2:name_valid": {
1207- "manual_review": false,
1208- "text": "OK"
1209- },
1210 "lint-snap-v2:snap_type_redflag": {
1211 "manual_review": false,
1212 "text": "OK"
1213@@ -20326,10 +20090,6 @@ test-bad-desktop-file-icon_1_all.snap: FAIL
1214 "manual_review": false,
1215 "text": "OK"
1216 },
1217- "lint-snap-v2:name_valid": {
1218- "manual_review": false,
1219- "text": "OK"
1220- },
1221 "lint-snap-v2:snap_type_redflag": {
1222 "manual_review": false,
1223 "text": "OK"
1224@@ -20600,10 +20360,6 @@ test-bad-unicode_0_all.snap: FAIL
1225 "manual_review": false,
1226 "text": "OK"
1227 },
1228- "lint-snap-v2:name_valid": {
1229- "manual_review": false,
1230- "text": "OK"
1231- },
1232 "lint-snap-v2:snap_type_redflag": {
1233 "manual_review": false,
1234 "text": "OK"
1235@@ -20792,10 +20548,6 @@ test-bad-unicode_0_all.snap: FAIL
1236 "manual_review": false,
1237 "text": "OK"
1238 },
1239- "lint-snap-v2:name_valid": {
1240- "manual_review": false,
1241- "text": "OK"
1242- },
1243 "lint-snap-v2:snap_type_redflag": {
1244 "manual_review": false,
1245 "text": "OK"
1246@@ -20943,10 +20695,6 @@ test-base-devnull_1.0_all.snap: FAIL
1247 "manual_review": false,
1248 "text": "OK"
1249 },
1250- "lint-snap-v2:name_valid": {
1251- "manual_review": false,
1252- "text": "OK"
1253- },
1254 "lint-snap-v2:snap_type_valid": {
1255 "manual_review": false,
1256 "text": "OK"
1257@@ -21064,10 +20812,6 @@ test-base-devnull_1.0_all.snap: FAIL
1258 "manual_review": false,
1259 "text": "OK"
1260 },
1261- "lint-snap-v2:name_valid": {
1262- "manual_review": false,
1263- "text": "OK"
1264- },
1265 "lint-snap-v2:snap_type_valid": {
1266 "manual_review": false,
1267 "text": "OK"
1268@@ -21230,10 +20974,6 @@ test-base-disallowed_0_all.snap: FAIL
1269 "manual_review": false,
1270 "text": "OK"
1271 },
1272- "lint-snap-v2:name_valid": {
1273- "manual_review": false,
1274- "text": "OK"
1275- },
1276 "lint-snap-v2:snap_type_redflag": {
1277 "manual_review": false,
1278 "text": "OK"
1279@@ -21406,10 +21146,6 @@ test-base-disallowed_0_all.snap: FAIL
1280 "manual_review": false,
1281 "text": "OK"
1282 },
1283- "lint-snap-v2:name_valid": {
1284- "manual_review": false,
1285- "text": "OK"
1286- },
1287 "lint-snap-v2:snap_type_redflag": {
1288 "manual_review": false,
1289 "text": "OK"
1290@@ -21553,10 +21289,6 @@ test-base-missing-mountpoint_1.0_all.snap: FAIL
1291 "manual_review": false,
1292 "text": "OK"
1293 },
1294- "lint-snap-v2:name_valid": {
1295- "manual_review": false,
1296- "text": "OK"
1297- },
1298 "lint-snap-v2:snap_type_valid": {
1299 "manual_review": false,
1300 "text": "OK"
1301@@ -21669,10 +21401,6 @@ test-base-missing-mountpoint_1.0_all.snap: FAIL
1302 "manual_review": false,
1303 "text": "OK"
1304 },
1305- "lint-snap-v2:name_valid": {
1306- "manual_review": false,
1307- "text": "OK"
1308- },
1309 "lint-snap-v2:snap_type_valid": {
1310 "manual_review": false,
1311 "text": "OK"
1312@@ -21864,10 +21592,6 @@ test-base-slots-plugs_1.0_all.snap: FAIL
1313 "manual_review": false,
1314 "text": "OK"
1315 },
1316- "lint-snap-v2:name_valid": {
1317- "manual_review": false,
1318- "text": "OK"
1319- },
1320 "lint-snap-v2:slots:dbus:dbus": {
1321 "manual_review": false,
1322 "text": "OK"
1323@@ -22074,10 +21798,6 @@ test-base-slots-plugs_1.0_all.snap: FAIL
1324 "manual_review": false,
1325 "text": "OK"
1326 },
1327- "lint-snap-v2:name_valid": {
1328- "manual_review": false,
1329- "text": "OK"
1330- },
1331 "lint-snap-v2:slots:dbus:dbus": {
1332 "manual_review": false,
1333 "text": "OK"
1334@@ -22266,10 +21986,6 @@ test-check-notices-esm-apps_0.1_amd64.snap: pass
1335 "manual_review": false,
1336 "text": "OK"
1337 },
1338- "lint-snap-v2:name_valid": {
1339- "manual_review": false,
1340- "text": "OK"
1341- },
1342 "lint-snap-v2:snap_manifest": {
1343 "manual_review": false,
1344 "text": "OK"
1345@@ -22441,10 +22157,6 @@ test-check-notices-esm-apps_0.1_amd64.snap: pass
1346 "manual_review": false,
1347 "text": "OK"
1348 },
1349- "lint-snap-v2:name_valid": {
1350- "manual_review": false,
1351- "text": "OK"
1352- },
1353 "lint-snap-v2:snap_manifest": {
1354 "manual_review": false,
1355 "text": "OK"
1356@@ -22621,10 +22333,6 @@ test-check-notices-needed_0.1_amd64.snap: pass
1357 "manual_review": false,
1358 "text": "OK"
1359 },
1360- "lint-snap-v2:name_valid": {
1361- "manual_review": false,
1362- "text": "OK"
1363- },
1364 "lint-snap-v2:snap_manifest": {
1365 "manual_review": false,
1366 "text": "OK"
1367@@ -22796,10 +22504,6 @@ test-check-notices-needed_0.1_amd64.snap: pass
1368 "manual_review": false,
1369 "text": "OK"
1370 },
1371- "lint-snap-v2:name_valid": {
1372- "manual_review": false,
1373- "text": "OK"
1374- },
1375 "lint-snap-v2:snap_manifest": {
1376 "manual_review": false,
1377 "text": "OK"
1378@@ -22878,8 +22582,8 @@ test-check-notices-needed_0.1_amd64.snap: pass
1379 = test-check-notices-primed-stage-packages-needed_0.1_amd64.snap =
1380 Errors
1381 ------
1382- - lint-snap-v2:name_valid
1383- malformed 'name': 'test-check-notices-primed-stage-packages-needed' (length '47' exceeds store limit '40')
1384+ - lint-snap-v2:snap_schema
1385+ Error found in snap.yaml while validating $.name: 'test-check-notices-primed-stage-packages-needed' is too long
1386 test-check-notices-primed-stage-packages-needed_0.1_amd64.snap: FAIL
1387
1388 = --sdk test-check-notices-primed-stage-packages-needed_0.1_amd64.snap =
1389@@ -22903,9 +22607,9 @@ test-check-notices-primed-stage-packages-needed_0.1_amd64.snap: FAIL
1390 = snap.v2_lint =
1391 {
1392 "error": {
1393- "lint-snap-v2:name_valid": {
1394+ "lint-snap-v2:snap_schema": {
1395 "manual_review": false,
1396- "text": "malformed 'name': 'test-check-notices-primed-stage-packages-needed' (length '47' exceeds store limit '40')"
1397+ "text": "Error found in snap.yaml while validating $.name: 'test-check-notices-primed-stage-packages-needed' is too long"
1398 }
1399 },
1400 "info": {
1401@@ -23079,9 +22783,9 @@ test-check-notices-primed-stage-packages-needed_0.1_amd64.snap: FAIL
1402 },
1403 "snap.v2_lint": {
1404 "error": {
1405- "lint-snap-v2:name_valid": {
1406+ "lint-snap-v2:snap_schema": {
1407 "manual_review": false,
1408- "text": "malformed 'name': 'test-check-notices-primed-stage-packages-needed' (length '47' exceeds store limit '40')"
1409+ "text": "Error found in snap.yaml while validating $.name: 'test-check-notices-primed-stage-packages-needed' is too long"
1410 }
1411 },
1412 "info": {
1413@@ -23239,8 +22943,8 @@ test-check-notices-primed-stage-packages-needed_0.1_amd64.snap: FAIL
1414 = test-check-notices-primed-stage-packages-needed_0.2_amd64.snap =
1415 Errors
1416 ------
1417- - lint-snap-v2:name_valid
1418- malformed 'name': 'test-check-notices-primed-stage-packages-needed' (length '47' exceeds store limit '40')
1419+ - lint-snap-v2:snap_schema
1420+ Error found in snap.yaml while validating $.name: 'test-check-notices-primed-stage-packages-needed' is too long
1421 test-check-notices-primed-stage-packages-needed_0.2_amd64.snap: FAIL
1422
1423 = --sdk test-check-notices-primed-stage-packages-needed_0.2_amd64.snap =
1424@@ -23264,9 +22968,9 @@ test-check-notices-primed-stage-packages-needed_0.2_amd64.snap: FAIL
1425 = snap.v2_lint =
1426 {
1427 "error": {
1428- "lint-snap-v2:name_valid": {
1429+ "lint-snap-v2:snap_schema": {
1430 "manual_review": false,
1431- "text": "malformed 'name': 'test-check-notices-primed-stage-packages-needed' (length '47' exceeds store limit '40')"
1432+ "text": "Error found in snap.yaml while validating $.name: 'test-check-notices-primed-stage-packages-needed' is too long"
1433 }
1434 },
1435 "info": {
1436@@ -23440,9 +23144,9 @@ test-check-notices-primed-stage-packages-needed_0.2_amd64.snap: FAIL
1437 },
1438 "snap.v2_lint": {
1439 "error": {
1440- "lint-snap-v2:name_valid": {
1441+ "lint-snap-v2:snap_schema": {
1442 "manual_review": false,
1443- "text": "malformed 'name': 'test-check-notices-primed-stage-packages-needed' (length '47' exceeds store limit '40')"
1444+ "text": "Error found in snap.yaml while validating $.name: 'test-check-notices-primed-stage-packages-needed' is too long"
1445 }
1446 },
1447 "info": {
1448@@ -23698,10 +23402,6 @@ test-check-notices-primed-stage-packages_0.1_amd64.snap: pass
1449 "manual_review": false,
1450 "text": "OK"
1451 },
1452- "lint-snap-v2:name_valid": {
1453- "manual_review": false,
1454- "text": "OK"
1455- },
1456 "lint-snap-v2:snap_manifest": {
1457 "manual_review": false,
1458 "text": "OK"
1459@@ -23873,10 +23573,6 @@ test-check-notices-primed-stage-packages_0.1_amd64.snap: pass
1460 "manual_review": false,
1461 "text": "OK"
1462 },
1463- "lint-snap-v2:name_valid": {
1464- "manual_review": false,
1465- "text": "OK"
1466- },
1467 "lint-snap-v2:snap_manifest": {
1468 "manual_review": false,
1469 "text": "OK"
1470@@ -24053,10 +23749,6 @@ test-check-notices_0.1_amd64.snap: pass
1471 "manual_review": false,
1472 "text": "OK"
1473 },
1474- "lint-snap-v2:name_valid": {
1475- "manual_review": false,
1476- "text": "OK"
1477- },
1478 "lint-snap-v2:snap_manifest": {
1479 "manual_review": false,
1480 "text": "OK"
1481@@ -24228,10 +23920,6 @@ test-check-notices_0.1_amd64.snap: pass
1482 "manual_review": false,
1483 "text": "OK"
1484 },
1485- "lint-snap-v2:name_valid": {
1486- "manual_review": false,
1487- "text": "OK"
1488- },
1489 "lint-snap-v2:snap_manifest": {
1490 "manual_review": false,
1491 "text": "OK"
1492@@ -24439,10 +24127,6 @@ test-classic_0_all.snap: FAIL
1493 "manual_review": false,
1494 "text": "OK"
1495 },
1496- "lint-snap-v2:name_valid": {
1497- "manual_review": false,
1498- "text": "OK"
1499- },
1500 "lint-snap-v2:snap_type_redflag": {
1501 "manual_review": false,
1502 "text": "OK"
1503@@ -24644,10 +24328,6 @@ test-classic_0_all.snap: FAIL
1504 "manual_review": false,
1505 "text": "OK"
1506 },
1507- "lint-snap-v2:name_valid": {
1508- "manual_review": false,
1509- "text": "OK"
1510- },
1511 "lint-snap-v2:snap_type_redflag": {
1512 "manual_review": false,
1513 "text": "OK"
1514@@ -24844,10 +24524,6 @@ test-command-with-args_0_all.snap: pass
1515 "manual_review": false,
1516 "text": "OK"
1517 },
1518- "lint-snap-v2:name_valid": {
1519- "manual_review": false,
1520- "text": "OK"
1521- },
1522 "lint-snap-v2:snap_type_redflag": {
1523 "manual_review": false,
1524 "text": "OK"
1525@@ -25039,10 +24715,6 @@ test-command-with-args_0_all.snap: pass
1526 "manual_review": false,
1527 "text": "OK"
1528 },
1529- "lint-snap-v2:name_valid": {
1530- "manual_review": false,
1531- "text": "OK"
1532- },
1533 "lint-snap-v2:snap_type_redflag": {
1534 "manual_review": false,
1535 "text": "OK"
1536@@ -25251,10 +24923,6 @@ test-common-id_0_all.snap: pass
1537 "manual_review": false,
1538 "text": "OK"
1539 },
1540- "lint-snap-v2:name_valid": {
1541- "manual_review": false,
1542- "text": "OK"
1543- },
1544 "lint-snap-v2:snap_type_redflag": {
1545 "manual_review": false,
1546 "text": "OK"
1547@@ -25458,10 +25126,6 @@ test-common-id_0_all.snap: pass
1548 "manual_review": false,
1549 "text": "OK"
1550 },
1551- "lint-snap-v2:name_valid": {
1552- "manual_review": false,
1553- "text": "OK"
1554- },
1555 "lint-snap-v2:snap_type_redflag": {
1556 "manual_review": false,
1557 "text": "OK"
1558@@ -25679,10 +25343,6 @@ test-completion_1.0_all.snap: pass
1559 "manual_review": false,
1560 "text": "OK"
1561 },
1562- "lint-snap-v2:name_valid": {
1563- "manual_review": false,
1564- "text": "OK"
1565- },
1566 "lint-snap-v2:snap_type_redflag": {
1567 "manual_review": false,
1568 "text": "OK"
1569@@ -25891,10 +25551,6 @@ test-completion_1.0_all.snap: pass
1570 "manual_review": false,
1571 "text": "OK"
1572 },
1573- "lint-snap-v2:name_valid": {
1574- "manual_review": false,
1575- "text": "OK"
1576- },
1577 "lint-snap-v2:snap_type_redflag": {
1578 "manual_review": false,
1579 "text": "OK"
1580@@ -26104,10 +25760,6 @@ test-content_0.1_all.snap: pass
1581 "manual_review": false,
1582 "text": "OK"
1583 },
1584- "lint-snap-v2:name_valid": {
1585- "manual_review": false,
1586- "text": "OK"
1587- },
1588 "lint-snap-v2:plugs:content:legacy-read1": {
1589 "manual_review": false,
1590 "text": "OK"
1591@@ -26444,10 +26096,6 @@ test-content_0.1_all.snap: pass
1592 "manual_review": false,
1593 "text": "OK"
1594 },
1595- "lint-snap-v2:name_valid": {
1596- "manual_review": false,
1597- "text": "OK"
1598- },
1599 "lint-snap-v2:plugs:content:legacy-read1": {
1600 "manual_review": false,
1601 "text": "OK"
1602@@ -26728,10 +26376,6 @@ test-core-with-primed-staged_16-2.37.2_amd64.snap: FAIL
1603 "manual_review": false,
1604 "text": "OK"
1605 },
1606- "lint-snap-v2:name_valid": {
1607- "manual_review": false,
1608- "text": "OK"
1609- },
1610 "lint-snap-v2:snap_manifest": {
1611 "manual_review": false,
1612 "text": "OK"
1613@@ -26855,10 +26499,6 @@ test-core-with-primed-staged_16-2.37.2_amd64.snap: FAIL
1614 "manual_review": false,
1615 "text": "OK"
1616 },
1617- "lint-snap-v2:name_valid": {
1618- "manual_review": false,
1619- "text": "OK"
1620- },
1621 "lint-snap-v2:snap_manifest": {
1622 "manual_review": false,
1623 "text": "OK"
1624@@ -26991,10 +26631,6 @@ test-core_16-2.37.2_amd64.snap: FAIL
1625 "manual_review": false,
1626 "text": "OK"
1627 },
1628- "lint-snap-v2:name_valid": {
1629- "manual_review": false,
1630- "text": "OK"
1631- },
1632 "lint-snap-v2:snap_manifest": {
1633 "manual_review": false,
1634 "text": "OK"
1635@@ -27118,10 +26754,6 @@ test-core_16-2.37.2_amd64.snap: FAIL
1636 "manual_review": false,
1637 "text": "OK"
1638 },
1639- "lint-snap-v2:name_valid": {
1640- "manual_review": false,
1641- "text": "OK"
1642- },
1643 "lint-snap-v2:snap_manifest": {
1644 "manual_review": false,
1645 "text": "OK"
1646@@ -27327,10 +26959,6 @@ test-desktop-file_1_all.snap: pass
1647 "manual_review": false,
1648 "text": "OK"
1649 },
1650- "lint-snap-v2:name_valid": {
1651- "manual_review": false,
1652- "text": "OK"
1653- },
1654 "lint-snap-v2:snap_type_redflag": {
1655 "manual_review": false,
1656 "text": "OK"
1657@@ -27547,10 +27175,6 @@ test-desktop-file_1_all.snap: pass
1658 "manual_review": false,
1659 "text": "OK"
1660 },
1661- "lint-snap-v2:name_valid": {
1662- "manual_review": false,
1663- "text": "OK"
1664- },
1665 "lint-snap-v2:snap_type_redflag": {
1666 "manual_review": false,
1667 "text": "OK"
1668@@ -27728,10 +27352,6 @@ test-dir-perms_0_amd64.snap: FAIL
1669 "manual_review": false,
1670 "text": "OK"
1671 },
1672- "lint-snap-v2:name_valid": {
1673- "manual_review": false,
1674- "text": "OK"
1675- },
1676 "lint-snap-v2:snap_type_redflag": {
1677 "manual_review": false,
1678 "text": "OK"
1679@@ -27897,10 +27517,6 @@ test-dir-perms_0_amd64.snap: FAIL
1680 "manual_review": false,
1681 "text": "OK"
1682 },
1683- "lint-snap-v2:name_valid": {
1684- "manual_review": false,
1685- "text": "OK"
1686- },
1687 "lint-snap-v2:snap_type_redflag": {
1688 "manual_review": false,
1689 "text": "OK"
1690@@ -28047,10 +27663,6 @@ test-dpkg-list-app_1.0_amd64.snap: pass
1691 "manual_review": false,
1692 "text": "OK"
1693 },
1694- "lint-snap-v2:name_valid": {
1695- "manual_review": false,
1696- "text": "OK"
1697- },
1698 "lint-snap-v2:snap_manifest": {
1699 "manual_review": false,
1700 "text": "OK"
1701@@ -28182,10 +27794,6 @@ test-dpkg-list-app_1.0_amd64.snap: pass
1702 "manual_review": false,
1703 "text": "OK"
1704 },
1705- "lint-snap-v2:name_valid": {
1706- "manual_review": false,
1707- "text": "OK"
1708- },
1709 "lint-snap-v2:snap_manifest": {
1710 "manual_review": false,
1711 "text": "OK"
1712@@ -28454,10 +28062,6 @@ test-env_0.1_all.snap: pass
1713 "manual_review": false,
1714 "text": "OK"
1715 },
1716- "lint-snap-v2:name_valid": {
1717- "manual_review": false,
1718- "text": "OK"
1719- },
1720 "lint-snap-v2:snap_type_redflag": {
1721 "manual_review": false,
1722 "text": "OK"
1723@@ -28745,10 +28349,6 @@ test-env_0.1_all.snap: pass
1724 "manual_review": false,
1725 "text": "OK"
1726 },
1727- "lint-snap-v2:name_valid": {
1728- "manual_review": false,
1729- "text": "OK"
1730- },
1731 "lint-snap-v2:snap_type_redflag": {
1732 "manual_review": false,
1733 "text": "OK"
1734@@ -28939,10 +28539,6 @@ test-execstack_0_amd64.snap: FAIL
1735 "manual_review": false,
1736 "text": "OK"
1737 },
1738- "lint-snap-v2:name_valid": {
1739- "manual_review": false,
1740- "text": "OK"
1741- },
1742 "lint-snap-v2:snap_type_redflag": {
1743 "manual_review": false,
1744 "text": "OK"
1745@@ -29107,10 +28703,6 @@ test-execstack_0_amd64.snap: FAIL
1746 "manual_review": false,
1747 "text": "OK"
1748 },
1749- "lint-snap-v2:name_valid": {
1750- "manual_review": false,
1751- "text": "OK"
1752- },
1753 "lint-snap-v2:snap_type_redflag": {
1754 "manual_review": false,
1755 "text": "OK"
1756@@ -29275,10 +28867,6 @@ test-grade-and-confinement_0.1_all.snap: pass
1757 "manual_review": false,
1758 "text": "OK"
1759 },
1760- "lint-snap-v2:name_valid": {
1761- "manual_review": false,
1762- "text": "OK"
1763- },
1764 "lint-snap-v2:snap_type_redflag": {
1765 "manual_review": false,
1766 "text": "OK"
1767@@ -29442,10 +29030,6 @@ test-grade-and-confinement_0.1_all.snap: pass
1768 "manual_review": false,
1769 "text": "OK"
1770 },
1771- "lint-snap-v2:name_valid": {
1772- "manual_review": false,
1773- "text": "OK"
1774- },
1775 "lint-snap-v2:snap_type_redflag": {
1776 "manual_review": false,
1777 "text": "OK"
1778@@ -29610,10 +29194,6 @@ test-gzip_1.snap: FAIL
1779 "manual_review": false,
1780 "text": "OK"
1781 },
1782- "lint-snap-v2:name_valid": {
1783- "manual_review": false,
1784- "text": "OK"
1785- },
1786 "lint-snap-v2:snap_type_redflag": {
1787 "manual_review": false,
1788 "text": "OK"
1789@@ -29770,10 +29350,6 @@ test-gzip_1.snap: FAIL
1790 "manual_review": false,
1791 "text": "OK"
1792 },
1793- "lint-snap-v2:name_valid": {
1794- "manual_review": false,
1795- "text": "OK"
1796- },
1797 "lint-snap-v2:snap_type_redflag": {
1798 "manual_review": false,
1799 "text": "OK"
1800@@ -30135,10 +29711,6 @@ test-hello-dbus_2_amd64.snap: FAIL
1801 "manual_review": false,
1802 "text": "OK"
1803 },
1804- "lint-snap-v2:name_valid": {
1805- "manual_review": false,
1806- "text": "OK"
1807- },
1808 "lint-snap-v2:plugs:dbus:session": {
1809 "manual_review": false,
1810 "text": "OK"
1811@@ -30572,10 +30144,6 @@ test-hello-dbus_2_amd64.snap: FAIL
1812 "manual_review": false,
1813 "text": "OK"
1814 },
1815- "lint-snap-v2:name_valid": {
1816- "manual_review": false,
1817- "text": "OK"
1818- },
1819 "lint-snap-v2:plugs:dbus:session": {
1820 "manual_review": false,
1821 "text": "OK"
1822@@ -30882,10 +30450,6 @@ test-home-read-attrib_0.1_amd64.snap: FAIL
1823 "manual_review": false,
1824 "text": "OK"
1825 },
1826- "lint-snap-v2:name_valid": {
1827- "manual_review": false,
1828- "text": "OK"
1829- },
1830 "lint-snap-v2:plugs:home:home-all": {
1831 "manual_review": false,
1832 "text": "OK"
1833@@ -31111,10 +30675,6 @@ test-home-read-attrib_0.1_amd64.snap: FAIL
1834 "manual_review": false,
1835 "text": "OK"
1836 },
1837- "lint-snap-v2:name_valid": {
1838- "manual_review": false,
1839- "text": "OK"
1840- },
1841 "lint-snap-v2:plugs:home:home-all": {
1842 "manual_review": false,
1843 "text": "OK"
1844@@ -31548,10 +31108,6 @@ test-hooks_0_all.snap: pass
1845 "manual_review": false,
1846 "text": "OK"
1847 },
1848- "lint-snap-v2:name_valid": {
1849- "manual_review": false,
1850- "text": "OK"
1851- },
1852 "lint-snap-v2:snap_type_redflag": {
1853 "manual_review": false,
1854 "text": "OK"
1855@@ -31972,10 +31528,6 @@ test-hooks_0_all.snap: pass
1856 "manual_review": false,
1857 "text": "OK"
1858 },
1859- "lint-snap-v2:name_valid": {
1860- "manual_review": false,
1861- "text": "OK"
1862- },
1863 "lint-snap-v2:snap_type_redflag": {
1864 "manual_review": false,
1865 "text": "OK"
1866@@ -32204,10 +31756,6 @@ test-install-stop-and-refresh-modes_0.1_all.snap: pass
1867 "manual_review": false,
1868 "text": "OK"
1869 },
1870- "lint-snap-v2:name_valid": {
1871- "manual_review": false,
1872- "text": "OK"
1873- },
1874 "lint-snap-v2:refresh-mode:endure": {
1875 "manual_review": false,
1876 "text": "OK"
1877@@ -32443,10 +31991,6 @@ test-install-stop-and-refresh-modes_0.1_all.snap: pass
1878 "manual_review": false,
1879 "text": "OK"
1880 },
1881- "lint-snap-v2:name_valid": {
1882- "manual_review": false,
1883- "text": "OK"
1884- },
1885 "lint-snap-v2:refresh-mode:endure": {
1886 "manual_review": false,
1887 "text": "OK"
1888@@ -32607,10 +32151,6 @@ test-link_0.1_all.snap: pass
1889 "manual_review": false,
1890 "text": "OK"
1891 },
1892- "lint-snap-v2:name_valid": {
1893- "manual_review": false,
1894- "text": "OK"
1895- },
1896 "lint-snap-v2:snap_type_redflag": {
1897 "manual_review": false,
1898 "text": "OK"
1899@@ -32734,10 +32274,6 @@ test-link_0.1_all.snap: pass
1900 "manual_review": false,
1901 "text": "OK"
1902 },
1903- "lint-snap-v2:name_valid": {
1904- "manual_review": false,
1905- "text": "OK"
1906- },
1907 "lint-snap-v2:snap_type_redflag": {
1908 "manual_review": false,
1909 "text": "OK"
1910@@ -32882,10 +32418,6 @@ test-lzo_1.snap: pass
1911 "manual_review": false,
1912 "text": "OK"
1913 },
1914- "lint-snap-v2:name_valid": {
1915- "manual_review": false,
1916- "text": "OK"
1917- },
1918 "lint-snap-v2:snap_type_redflag": {
1919 "manual_review": false,
1920 "text": "OK"
1921@@ -33041,10 +32573,6 @@ test-lzo_1.snap: pass
1922 "manual_review": false,
1923 "text": "OK"
1924 },
1925- "lint-snap-v2:name_valid": {
1926- "manual_review": false,
1927- "text": "OK"
1928- },
1929 "lint-snap-v2:snap_type_redflag": {
1930 "manual_review": false,
1931 "text": "OK"
1932@@ -33275,10 +32803,6 @@ test-mir-xwayland_0_all.snap: FAIL
1933 "manual_review": false,
1934 "text": "OK (using x11 with mir-kiosk)"
1935 },
1936- "lint-snap-v2:name_valid": {
1937- "manual_review": false,
1938- "text": "OK"
1939- },
1940 "lint-snap-v2:plugs:content:wayland-socket-dir": {
1941 "manual_review": false,
1942 "text": "OK"
1943@@ -33536,10 +33060,6 @@ test-mir-xwayland_0_all.snap: FAIL
1944 "manual_review": false,
1945 "text": "OK (using x11 with mir-kiosk)"
1946 },
1947- "lint-snap-v2:name_valid": {
1948- "manual_review": false,
1949- "text": "OK"
1950- },
1951 "lint-snap-v2:plugs:content:wayland-socket-dir": {
1952 "manual_review": false,
1953 "text": "OK"
1954@@ -33779,10 +33299,6 @@ test-missing-required-attributes_0_all.snap: FAIL
1955 "manual_review": false,
1956 "text": "OK"
1957 },
1958- "lint-snap-v2:name_valid": {
1959- "manual_review": false,
1960- "text": "OK"
1961- },
1962 "lint-snap-v2:plugs:content:content": {
1963 "manual_review": false,
1964 "text": "OK"
1965@@ -34009,10 +33525,6 @@ test-missing-required-attributes_0_all.snap: FAIL
1966 "manual_review": false,
1967 "text": "OK"
1968 },
1969- "lint-snap-v2:name_valid": {
1970- "manual_review": false,
1971- "text": "OK"
1972- },
1973 "lint-snap-v2:plugs:content:content": {
1974 "manual_review": false,
1975 "text": "OK"
1976@@ -34242,10 +33754,6 @@ test-mpris-name-matches_0_amd64.snap: FAIL
1977 "manual_review": false,
1978 "text": "OK"
1979 },
1980- "lint-snap-v2:name_valid": {
1981- "manual_review": false,
1982- "text": "OK"
1983- },
1984 "lint-snap-v2:slots:interface:mpris": {
1985 "manual_review": false,
1986 "text": "OK"
1987@@ -34438,10 +33946,6 @@ test-mpris-name-matches_0_amd64.snap: FAIL
1988 "manual_review": false,
1989 "text": "OK"
1990 },
1991- "lint-snap-v2:name_valid": {
1992- "manual_review": false,
1993- "text": "OK"
1994- },
1995 "lint-snap-v2:slots:interface:mpris": {
1996 "manual_review": false,
1997 "text": "OK"
1998@@ -34643,10 +34147,6 @@ test-mpris-name-mismatch_0_amd64.snap: FAIL
1999 "manual_review": false,
2000 "text": "OK"
2001 },
2002- "lint-snap-v2:name_valid": {
2003- "manual_review": false,
2004- "text": "OK"
2005- },
2006 "lint-snap-v2:slots:interface:mpris": {
2007 "manual_review": false,
2008 "text": "OK"
2009@@ -34839,10 +34339,6 @@ test-mpris-name-mismatch_0_amd64.snap: FAIL
2010 "manual_review": false,
2011 "text": "OK"
2012 },
2013- "lint-snap-v2:name_valid": {
2014- "manual_review": false,
2015- "text": "OK"
2016- },
2017 "lint-snap-v2:slots:interface:mpris": {
2018 "manual_review": false,
2019 "text": "OK"
2020@@ -35036,10 +34532,6 @@ test-mpris_0_amd64.snap: pass
2021 "manual_review": false,
2022 "text": "OK"
2023 },
2024- "lint-snap-v2:name_valid": {
2025- "manual_review": false,
2026- "text": "OK"
2027- },
2028 "lint-snap-v2:snap_type_redflag": {
2029 "manual_review": false,
2030 "text": "OK"
2031@@ -35216,10 +34708,6 @@ test-mpris_0_amd64.snap: pass
2032 "manual_review": false,
2033 "text": "OK"
2034 },
2035- "lint-snap-v2:name_valid": {
2036- "manual_review": false,
2037- "text": "OK"
2038- },
2039 "lint-snap-v2:snap_type_redflag": {
2040 "manual_review": false,
2041 "text": "OK"
2042@@ -35392,10 +34880,6 @@ test-no-fragments_4.snap: FAIL
2043 "manual_review": false,
2044 "text": "OK"
2045 },
2046- "lint-snap-v2:name_valid": {
2047- "manual_review": false,
2048- "text": "OK"
2049- },
2050 "lint-snap-v2:snap_type_redflag": {
2051 "manual_review": false,
2052 "text": "OK"
2053@@ -35560,10 +35044,6 @@ test-no-fragments_4.snap: FAIL
2054 "manual_review": false,
2055 "text": "OK"
2056 },
2057- "lint-snap-v2:name_valid": {
2058- "manual_review": false,
2059- "text": "OK"
2060- },
2061 "lint-snap-v2:snap_type_redflag": {
2062 "manual_review": false,
2063 "text": "OK"
2064@@ -35746,10 +35226,6 @@ test-personal-files_1_all.snap: FAIL
2065 "manual_review": false,
2066 "text": "OK"
2067 },
2068- "lint-snap-v2:name_valid": {
2069- "manual_review": false,
2070- "text": "OK"
2071- },
2072 "lint-snap-v2:personal-files_path:read": {
2073 "manual_review": false,
2074 "text": "OK"
2075@@ -35938,10 +35414,6 @@ test-personal-files_1_all.snap: FAIL
2076 "manual_review": false,
2077 "text": "OK"
2078 },
2079- "lint-snap-v2:name_valid": {
2080- "manual_review": false,
2081- "text": "OK"
2082- },
2083 "lint-snap-v2:personal-files_path:read": {
2084 "manual_review": false,
2085 "text": "OK"
2086@@ -36139,10 +35611,6 @@ test-plug-cmd_1_all.snap: FAIL
2087 "manual_review": false,
2088 "text": "OK"
2089 },
2090- "lint-snap-v2:name_valid": {
2091- "manual_review": false,
2092- "text": "OK"
2093- },
2094 "lint-snap-v2:snap_type_redflag": {
2095 "manual_review": false,
2096 "text": "OK"
2097@@ -36319,10 +35787,6 @@ test-plug-cmd_1_all.snap: FAIL
2098 "manual_review": false,
2099 "text": "OK"
2100 },
2101- "lint-snap-v2:name_valid": {
2102- "manual_review": false,
2103- "text": "OK"
2104- },
2105 "lint-snap-v2:snap_type_redflag": {
2106 "manual_review": false,
2107 "text": "OK"
2108@@ -36494,10 +35958,6 @@ test-plug-hook-gadget_1_all.snap: FAIL
2109 "manual_review": false,
2110 "text": "OK"
2111 },
2112- "lint-snap-v2:name_valid": {
2113- "manual_review": false,
2114- "text": "OK"
2115- },
2116 "lint-snap-v2:snap_type_valid": {
2117 "manual_review": false,
2118 "text": "OK"
2119@@ -36638,10 +36098,6 @@ test-plug-hook-gadget_1_all.snap: FAIL
2120 "manual_review": false,
2121 "text": "OK"
2122 },
2123- "lint-snap-v2:name_valid": {
2124- "manual_review": false,
2125- "text": "OK"
2126- },
2127 "lint-snap-v2:snap_type_valid": {
2128 "manual_review": false,
2129 "text": "OK"
2130@@ -36819,10 +36275,6 @@ test-plug-hook_1_all.snap: FAIL
2131 "manual_review": false,
2132 "text": "OK"
2133 },
2134- "lint-snap-v2:name_valid": {
2135- "manual_review": false,
2136- "text": "OK"
2137- },
2138 "lint-snap-v2:snap_type_redflag": {
2139 "manual_review": false,
2140 "text": "OK"
2141@@ -37011,10 +36463,6 @@ test-plug-hook_1_all.snap: FAIL
2142 "manual_review": false,
2143 "text": "OK"
2144 },
2145- "lint-snap-v2:name_valid": {
2146- "manual_review": false,
2147- "text": "OK"
2148- },
2149 "lint-snap-v2:snap_type_redflag": {
2150 "manual_review": false,
2151 "text": "OK"
2152@@ -37186,10 +36634,6 @@ test-plug-reference-hook-gadget_1_all.snap: FAIL
2153 "manual_review": false,
2154 "text": "OK"
2155 },
2156- "lint-snap-v2:name_valid": {
2157- "manual_review": false,
2158- "text": "OK"
2159- },
2160 "lint-snap-v2:plugs:interface:snapd-control": {
2161 "manual_review": false,
2162 "text": "OK"
2163@@ -37338,10 +36782,6 @@ test-plug-reference-hook-gadget_1_all.snap: FAIL
2164 "manual_review": false,
2165 "text": "OK"
2166 },
2167- "lint-snap-v2:name_valid": {
2168- "manual_review": false,
2169- "text": "OK"
2170- },
2171 "lint-snap-v2:plugs:interface:snapd-control": {
2172 "manual_review": false,
2173 "text": "OK"
2174@@ -37527,10 +36967,6 @@ test-plug-reference-hook_1_all.snap: FAIL
2175 "manual_review": false,
2176 "text": "OK"
2177 },
2178- "lint-snap-v2:name_valid": {
2179- "manual_review": false,
2180- "text": "OK"
2181- },
2182 "lint-snap-v2:plugs:interface:snapd-control": {
2183 "manual_review": false,
2184 "text": "OK"
2185@@ -37727,10 +37163,6 @@ test-plug-reference-hook_1_all.snap: FAIL
2186 "manual_review": false,
2187 "text": "OK"
2188 },
2189- "lint-snap-v2:name_valid": {
2190- "manual_review": false,
2191- "text": "OK"
2192- },
2193 "lint-snap-v2:plugs:interface:snapd-control": {
2194 "manual_review": false,
2195 "text": "OK"
2196@@ -37924,10 +37356,6 @@ test-plug-reference_1_all.snap: FAIL
2197 "manual_review": false,
2198 "text": "OK"
2199 },
2200- "lint-snap-v2:name_valid": {
2201- "manual_review": false,
2202- "text": "OK"
2203- },
2204 "lint-snap-v2:plugs:interface:snapd-control": {
2205 "manual_review": false,
2206 "text": "OK"
2207@@ -38112,10 +37540,6 @@ test-plug-reference_1_all.snap: FAIL
2208 "manual_review": false,
2209 "text": "OK"
2210 },
2211- "lint-snap-v2:name_valid": {
2212- "manual_review": false,
2213- "text": "OK"
2214- },
2215 "lint-snap-v2:plugs:interface:snapd-control": {
2216 "manual_review": false,
2217 "text": "OK"
2218@@ -38301,10 +37725,6 @@ test-refresh-schedule_0.1_all.snap: FAIL
2219 "manual_review": false,
2220 "text": "OK"
2221 },
2222- "lint-snap-v2:name_valid": {
2223- "manual_review": false,
2224- "text": "OK"
2225- },
2226 "lint-snap-v2:plugs:snapd-control:snapd-control": {
2227 "manual_review": false,
2228 "text": "OK"
2229@@ -38481,10 +37901,6 @@ test-refresh-schedule_0.1_all.snap: FAIL
2230 "manual_review": false,
2231 "text": "OK"
2232 },
2233- "lint-snap-v2:name_valid": {
2234- "manual_review": false,
2235- "text": "OK"
2236- },
2237 "lint-snap-v2:plugs:snapd-control:snapd-control": {
2238 "manual_review": false,
2239 "text": "OK"
2240@@ -38700,10 +38116,6 @@ test-resquash-minimal_0.snap: FAIL
2241 "manual_review": false,
2242 "text": "OK"
2243 },
2244- "lint-snap-v2:name_valid": {
2245- "manual_review": false,
2246- "text": "OK"
2247- },
2248 "lint-snap-v2:snap_type_valid": {
2249 "manual_review": false,
2250 "text": "OK"
2251@@ -38893,10 +38305,6 @@ test-resquash-minimal_0.snap: FAIL
2252 "manual_review": false,
2253 "text": "OK"
2254 },
2255- "lint-snap-v2:name_valid": {
2256- "manual_review": false,
2257- "text": "OK"
2258- },
2259 "lint-snap-v2:snap_type_valid": {
2260 "manual_review": false,
2261 "text": "OK"
2262@@ -39075,10 +38483,6 @@ test-slot-cmd_1_all.snap: FAIL
2263 "manual_review": false,
2264 "text": "OK"
2265 },
2266- "lint-snap-v2:name_valid": {
2267- "manual_review": false,
2268- "text": "OK"
2269- },
2270 "lint-snap-v2:snap_type_redflag": {
2271 "manual_review": false,
2272 "text": "OK"
2273@@ -39255,10 +38659,6 @@ test-slot-cmd_1_all.snap: FAIL
2274 "manual_review": false,
2275 "text": "OK"
2276 },
2277- "lint-snap-v2:name_valid": {
2278- "manual_review": false,
2279- "text": "OK"
2280- },
2281 "lint-snap-v2:snap_type_redflag": {
2282 "manual_review": false,
2283 "text": "OK"
2284@@ -39456,10 +38856,6 @@ test-slot-hook_1_all.snap: FAIL
2285 "manual_review": false,
2286 "text": "OK"
2287 },
2288- "lint-snap-v2:name_valid": {
2289- "manual_review": false,
2290- "text": "OK"
2291- },
2292 "lint-snap-v2:snap_type_redflag": {
2293 "manual_review": false,
2294 "text": "OK"
2295@@ -39648,10 +39044,6 @@ test-slot-hook_1_all.snap: FAIL
2296 "manual_review": false,
2297 "text": "OK"
2298 },
2299- "lint-snap-v2:name_valid": {
2300- "manual_review": false,
2301- "text": "OK"
2302- },
2303 "lint-snap-v2:snap_type_redflag": {
2304 "manual_review": false,
2305 "text": "OK"
2306@@ -39849,10 +39241,6 @@ test-slot-reference-hook_1_all.snap: FAIL
2307 "manual_review": false,
2308 "text": "OK"
2309 },
2310- "lint-snap-v2:name_valid": {
2311- "manual_review": false,
2312- "text": "OK"
2313- },
2314 "lint-snap-v2:slots:interface:network-manager": {
2315 "manual_review": false,
2316 "text": "OK"
2317@@ -40049,10 +39437,6 @@ test-slot-reference-hook_1_all.snap: FAIL
2318 "manual_review": false,
2319 "text": "OK"
2320 },
2321- "lint-snap-v2:name_valid": {
2322- "manual_review": false,
2323- "text": "OK"
2324- },
2325 "lint-snap-v2:slots:interface:network-manager": {
2326 "manual_review": false,
2327 "text": "OK"
2328@@ -40246,10 +39630,6 @@ test-slot-reference_1_all.snap: FAIL
2329 "manual_review": false,
2330 "text": "OK"
2331 },
2332- "lint-snap-v2:name_valid": {
2333- "manual_review": false,
2334- "text": "OK"
2335- },
2336 "lint-snap-v2:slots:interface:network-manager": {
2337 "manual_review": false,
2338 "text": "OK"
2339@@ -40434,10 +39814,6 @@ test-slot-reference_1_all.snap: FAIL
2340 "manual_review": false,
2341 "text": "OK"
2342 },
2343- "lint-snap-v2:name_valid": {
2344- "manual_review": false,
2345- "text": "OK"
2346- },
2347 "lint-snap-v2:slots:interface:network-manager": {
2348 "manual_review": false,
2349 "text": "OK"
2350@@ -40631,10 +40007,6 @@ test-slot-toplevel_1_all.snap: FAIL
2351 "manual_review": false,
2352 "text": "OK"
2353 },
2354- "lint-snap-v2:name_valid": {
2355- "manual_review": false,
2356- "text": "OK"
2357- },
2358 "lint-snap-v2:slots:network-manager:network-manager": {
2359 "manual_review": false,
2360 "text": "OK"
2361@@ -40815,10 +40187,6 @@ test-slot-toplevel_1_all.snap: FAIL
2362 "manual_review": false,
2363 "text": "OK"
2364 },
2365- "lint-snap-v2:name_valid": {
2366- "manual_review": false,
2367- "text": "OK"
2368- },
2369 "lint-snap-v2:slots:network-manager:network-manager": {
2370 "manual_review": false,
2371 "text": "OK"
2372@@ -40995,10 +40363,6 @@ test-snapcraft-manifest-package-in-installed-snaps_0_amd64.snap: pass
2373 "manual_review": false,
2374 "text": "OK"
2375 },
2376- "lint-snap-v2:name_valid": {
2377- "manual_review": false,
2378- "text": "OK"
2379- },
2380 "lint-snap-v2:snap_manifest": {
2381 "manual_review": false,
2382 "text": "OK"
2383@@ -41166,10 +40530,6 @@ test-snapcraft-manifest-package-in-installed-snaps_0_amd64.snap: pass
2384 "manual_review": false,
2385 "text": "OK"
2386 },
2387- "lint-snap-v2:name_valid": {
2388- "manual_review": false,
2389- "text": "OK"
2390- },
2391 "lint-snap-v2:snap_manifest": {
2392 "manual_review": false,
2393 "text": "OK"
2394@@ -41342,10 +40702,6 @@ test-snapcraft-manifest-snapcraft-updated_0_amd64.snap: pass
2395 "manual_review": false,
2396 "text": "OK"
2397 },
2398- "lint-snap-v2:name_valid": {
2399- "manual_review": false,
2400- "text": "OK"
2401- },
2402 "lint-snap-v2:snap_manifest": {
2403 "manual_review": false,
2404 "text": "OK"
2405@@ -41513,10 +40869,6 @@ test-snapcraft-manifest-snapcraft-updated_0_amd64.snap: pass
2406 "manual_review": false,
2407 "text": "OK"
2408 },
2409- "lint-snap-v2:name_valid": {
2410- "manual_review": false,
2411- "text": "OK"
2412- },
2413 "lint-snap-v2:snap_manifest": {
2414 "manual_review": false,
2415 "text": "OK"
2416@@ -41689,10 +41041,6 @@ test-snapcraft-manifest-snapcraft-version-needed_0_amd64.snap: pass
2417 "manual_review": false,
2418 "text": "OK"
2419 },
2420- "lint-snap-v2:name_valid": {
2421- "manual_review": false,
2422- "text": "OK"
2423- },
2424 "lint-snap-v2:snap_manifest": {
2425 "manual_review": false,
2426 "text": "OK"
2427@@ -41860,10 +41208,6 @@ test-snapcraft-manifest-snapcraft-version-needed_0_amd64.snap: pass
2428 "manual_review": false,
2429 "text": "OK"
2430 },
2431- "lint-snap-v2:name_valid": {
2432- "manual_review": false,
2433- "text": "OK"
2434- },
2435 "lint-snap-v2:snap_manifest": {
2436 "manual_review": false,
2437 "text": "OK"
2438@@ -42036,10 +41380,6 @@ test-snapcraft-manifest-snapcraft-version_0_amd64.snap: pass
2439 "manual_review": false,
2440 "text": "OK"
2441 },
2442- "lint-snap-v2:name_valid": {
2443- "manual_review": false,
2444- "text": "OK"
2445- },
2446 "lint-snap-v2:snap_manifest": {
2447 "manual_review": false,
2448 "text": "OK"
2449@@ -42207,10 +41547,6 @@ test-snapcraft-manifest-snapcraft-version_0_amd64.snap: pass
2450 "manual_review": false,
2451 "text": "OK"
2452 },
2453- "lint-snap-v2:name_valid": {
2454- "manual_review": false,
2455- "text": "OK"
2456- },
2457 "lint-snap-v2:snap_manifest": {
2458 "manual_review": false,
2459 "text": "OK"
2460@@ -42383,10 +41719,6 @@ test-snapcraft-manifest-unittest_0_amd64.snap: pass
2461 "manual_review": false,
2462 "text": "OK"
2463 },
2464- "lint-snap-v2:name_valid": {
2465- "manual_review": false,
2466- "text": "OK"
2467- },
2468 "lint-snap-v2:snap_manifest": {
2469 "manual_review": false,
2470 "text": "OK"
2471@@ -42554,10 +41886,6 @@ test-snapcraft-manifest-unittest_0_amd64.snap: pass
2472 "manual_review": false,
2473 "text": "OK"
2474 },
2475- "lint-snap-v2:name_valid": {
2476- "manual_review": false,
2477- "text": "OK"
2478- },
2479 "lint-snap-v2:snap_manifest": {
2480 "manual_review": false,
2481 "text": "OK"
2482@@ -42730,10 +42058,6 @@ test-snapcraft-manifest_0_amd64.snap: pass
2483 "manual_review": false,
2484 "text": "OK"
2485 },
2486- "lint-snap-v2:name_valid": {
2487- "manual_review": false,
2488- "text": "OK"
2489- },
2490 "lint-snap-v2:snap_manifest": {
2491 "manual_review": false,
2492 "text": "OK"
2493@@ -42901,10 +42225,6 @@ test-snapcraft-manifest_0_amd64.snap: pass
2494 "manual_review": false,
2495 "text": "OK"
2496 },
2497- "lint-snap-v2:name_valid": {
2498- "manual_review": false,
2499- "text": "OK"
2500- },
2501 "lint-snap-v2:snap_manifest": {
2502 "manual_review": false,
2503 "text": "OK"
2504@@ -43133,10 +42453,6 @@ test-snapd-layout_1.0_all.snap: pass
2505 "manual_review": false,
2506 "text": "OK"
2507 },
2508- "lint-snap-v2:name_valid": {
2509- "manual_review": false,
2510- "text": "OK"
2511- },
2512 "lint-snap-v2:snap_type_redflag": {
2513 "manual_review": false,
2514 "text": "OK"
2515@@ -43360,10 +42676,6 @@ test-snapd-layout_1.0_all.snap: pass
2516 "manual_review": false,
2517 "text": "OK"
2518 },
2519- "lint-snap-v2:name_valid": {
2520- "manual_review": false,
2521- "text": "OK"
2522- },
2523 "lint-snap-v2:snap_type_redflag": {
2524 "manual_review": false,
2525 "text": "OK"
2526@@ -43540,10 +42852,6 @@ test-snapd-with-default-configure_3.snap: pass
2527 "manual_review": false,
2528 "text": "OK"
2529 },
2530- "lint-snap-v2:name_valid": {
2531- "manual_review": false,
2532- "text": "OK"
2533- },
2534 "lint-snap-v2:snap_type_redflag": {
2535 "manual_review": false,
2536 "text": "OK"
2537@@ -43719,10 +43027,6 @@ test-snapd-with-default-configure_3.snap: pass
2538 "manual_review": false,
2539 "text": "OK"
2540 },
2541- "lint-snap-v2:name_valid": {
2542- "manual_review": false,
2543- "text": "OK"
2544- },
2545 "lint-snap-v2:snap_type_redflag": {
2546 "manual_review": false,
2547 "text": "OK"
2548@@ -43880,10 +43184,6 @@ test-state-base_1_amd64.snap: FAIL
2549 "manual_review": false,
2550 "text": "OK"
2551 },
2552- "lint-snap-v2:name_valid": {
2553- "manual_review": false,
2554- "text": "OK"
2555- },
2556 "lint-snap-v2:snap_type_valid": {
2557 "manual_review": false,
2558 "text": "OK"
2559@@ -44004,10 +43304,6 @@ test-state-base_1_amd64.snap: FAIL
2560 "manual_review": false,
2561 "text": "OK"
2562 },
2563- "lint-snap-v2:name_valid": {
2564- "manual_review": false,
2565- "text": "OK"
2566- },
2567 "lint-snap-v2:snap_type_valid": {
2568 "manual_review": false,
2569 "text": "OK"
2570@@ -44169,10 +43465,6 @@ test-superprivileged-cmd_1_all.snap: FAIL
2571 "manual_review": false,
2572 "text": "OK"
2573 },
2574- "lint-snap-v2:name_valid": {
2575- "manual_review": false,
2576- "text": "OK"
2577- },
2578 "lint-snap-v2:snap_type_redflag": {
2579 "manual_review": false,
2580 "text": "OK"
2581@@ -44349,10 +43641,6 @@ test-superprivileged-cmd_1_all.snap: FAIL
2582 "manual_review": false,
2583 "text": "OK"
2584 },
2585- "lint-snap-v2:name_valid": {
2586- "manual_review": false,
2587- "text": "OK"
2588- },
2589 "lint-snap-v2:snap_type_redflag": {
2590 "manual_review": false,
2591 "text": "OK"
2592@@ -44538,10 +43826,6 @@ test-superprivileged-reference_1_all.snap: FAIL
2593 "manual_review": false,
2594 "text": "OK"
2595 },
2596- "lint-snap-v2:name_valid": {
2597- "manual_review": false,
2598- "text": "OK"
2599- },
2600 "lint-snap-v2:plugs:interface:snapd-control": {
2601 "manual_review": false,
2602 "text": "OK"
2603@@ -44726,10 +44010,6 @@ test-superprivileged-reference_1_all.snap: FAIL
2604 "manual_review": false,
2605 "text": "OK"
2606 },
2607- "lint-snap-v2:name_valid": {
2608- "manual_review": false,
2609- "text": "OK"
2610- },
2611 "lint-snap-v2:plugs:interface:snapd-control": {
2612 "manual_review": false,
2613 "text": "OK"
2614@@ -44927,10 +44207,6 @@ test-superprivileged-sneaky_1_all.snap: FAIL
2615 "manual_review": false,
2616 "text": "OK"
2617 },
2618- "lint-snap-v2:name_valid": {
2619- "manual_review": false,
2620- "text": "OK"
2621- },
2622 "lint-snap-v2:plugs:interface:snapd-control": {
2623 "manual_review": false,
2624 "text": "OK"
2625@@ -45120,10 +44396,6 @@ test-superprivileged-sneaky_1_all.snap: FAIL
2626 "manual_review": false,
2627 "text": "OK"
2628 },
2629- "lint-snap-v2:name_valid": {
2630- "manual_review": false,
2631- "text": "OK"
2632- },
2633 "lint-snap-v2:plugs:interface:snapd-control": {
2634 "manual_review": false,
2635 "text": "OK"
2636@@ -45322,10 +44594,6 @@ test-superprivileged-toplevel_1_all.snap: FAIL
2637 "manual_review": false,
2638 "text": "OK"
2639 },
2640- "lint-snap-v2:name_valid": {
2641- "manual_review": false,
2642- "text": "OK"
2643- },
2644 "lint-snap-v2:plugs:snapd-control:snapd-control": {
2645 "manual_review": false,
2646 "text": "OK"
2647@@ -45510,10 +44778,6 @@ test-superprivileged-toplevel_1_all.snap: FAIL
2648 "manual_review": false,
2649 "text": "OK"
2650 },
2651- "lint-snap-v2:name_valid": {
2652- "manual_review": false,
2653- "text": "OK"
2654- },
2655 "lint-snap-v2:plugs:snapd-control:snapd-control": {
2656 "manual_review": false,
2657 "text": "OK"
2658@@ -45690,10 +44954,6 @@ test-system-usernames_0_all.snap: pass
2659 "manual_review": false,
2660 "text": "OK"
2661 },
2662- "lint-snap-v2:name_valid": {
2663- "manual_review": false,
2664- "text": "OK"
2665- },
2666 "lint-snap-v2:snap_type_redflag": {
2667 "manual_review": false,
2668 "text": "OK"
2669@@ -45865,10 +45125,6 @@ test-system-usernames_0_all.snap: pass
2670 "manual_review": false,
2671 "text": "OK"
2672 },
2673- "lint-snap-v2:name_valid": {
2674- "manual_review": false,
2675- "text": "OK"
2676- },
2677 "lint-snap-v2:snap_type_redflag": {
2678 "manual_review": false,
2679 "text": "OK"
2680@@ -46104,10 +45360,6 @@ test-top-level-dbus-slot_1_amd64.snap: FAIL
2681 "manual_review": false,
2682 "text": "OK"
2683 },
2684- "lint-snap-v2:name_valid": {
2685- "manual_review": false,
2686- "text": "OK"
2687- },
2688 "lint-snap-v2:slots:dbus:session-svc": {
2689 "manual_review": false,
2690 "text": "OK"
2691@@ -46360,10 +45612,6 @@ test-top-level-dbus-slot_1_amd64.snap: FAIL
2692 "manual_review": false,
2693 "text": "OK"
2694 },
2695- "lint-snap-v2:name_valid": {
2696- "manual_review": false,
2697- "text": "OK"
2698- },
2699 "lint-snap-v2:slots:dbus:session-svc": {
2700 "manual_review": false,
2701 "text": "OK"
2702@@ -46532,10 +45780,6 @@ test-topdir-ro_1.0_all.snap: pass
2703 "manual_review": false,
2704 "text": "OK"
2705 },
2706- "lint-snap-v2:name_valid": {
2707- "manual_review": false,
2708- "text": "OK"
2709- },
2710 "lint-snap-v2:snap_type_redflag": {
2711 "manual_review": false,
2712 "text": "OK"
2713@@ -46647,10 +45891,6 @@ test-topdir-ro_1.0_all.snap: pass
2714 "manual_review": false,
2715 "text": "OK"
2716 },
2717- "lint-snap-v2:name_valid": {
2718- "manual_review": false,
2719- "text": "OK"
2720- },
2721 "lint-snap-v2:snap_type_redflag": {
2722 "manual_review": false,
2723 "text": "OK"
2724@@ -46828,10 +46068,6 @@ test-unity7-home_0.1_all.snap: pass
2725 "manual_review": false,
2726 "text": "OK"
2727 },
2728- "lint-snap-v2:name_valid": {
2729- "manual_review": false,
2730- "text": "OK"
2731- },
2732 "lint-snap-v2:snap_type_redflag": {
2733 "manual_review": false,
2734 "text": "OK"
2735@@ -47020,10 +46256,6 @@ test-unity7-home_0.1_all.snap: pass
2736 "manual_review": false,
2737 "text": "OK"
2738 },
2739- "lint-snap-v2:name_valid": {
2740- "manual_review": false,
2741- "text": "OK"
2742- },
2743 "lint-snap-v2:snap_type_redflag": {
2744 "manual_review": false,
2745 "text": "OK"
2746@@ -47189,10 +46421,6 @@ test-void-dir_0.1_all.snap: FAIL
2747 "manual_review": false,
2748 "text": "OK"
2749 },
2750- "lint-snap-v2:name_valid": {
2751- "manual_review": false,
2752- "text": "OK"
2753- },
2754 "lint-snap-v2:snap_type_redflag": {
2755 "manual_review": false,
2756 "text": "OK"
2757@@ -47350,10 +46578,6 @@ test-void-dir_0.1_all.snap: FAIL
2758 "manual_review": false,
2759 "text": "OK"
2760 },
2761- "lint-snap-v2:name_valid": {
2762- "manual_review": false,
2763- "text": "OK"
2764- },
2765 "lint-snap-v2:snap_type_redflag": {
2766 "manual_review": false,
2767 "text": "OK"
2768@@ -47537,10 +46761,6 @@ test-x11-home_0.1_all.snap: pass
2769 "manual_review": false,
2770 "text": "OK"
2771 },
2772- "lint-snap-v2:name_valid": {
2773- "manual_review": false,
2774- "text": "OK"
2775- },
2776 "lint-snap-v2:plugs:home:home": {
2777 "manual_review": false,
2778 "text": "OK"
2779@@ -47725,10 +46945,6 @@ test-x11-home_0.1_all.snap: pass
2780 "manual_review": false,
2781 "text": "OK"
2782 },
2783- "lint-snap-v2:name_valid": {
2784- "manual_review": false,
2785- "text": "OK"
2786- },
2787 "lint-snap-v2:plugs:home:home": {
2788 "manual_review": false,
2789 "text": "OK"
2790@@ -47906,10 +47122,6 @@ test-x11-no-desktop_0.1_all.snap: pass
2791 "manual_review": false,
2792 "text": "desktop interfaces (x11) specified without a corresponding meta/gui/*.desktop file. If your application does not require a desktop file, you may ignore this. Otherwise, if using snapcraft, please see https://snapcraft.io/docs/build-snaps/metadata#fixed-assets or provide a desktop file in meta/gui/*.desktop (it should reference one of the 'apps' from your snapcraft/snap.yaml)."
2793 },
2794- "lint-snap-v2:name_valid": {
2795- "manual_review": false,
2796- "text": "OK"
2797- },
2798 "lint-snap-v2:plugs:x11:x11": {
2799 "manual_review": false,
2800 "text": "OK"
2801@@ -48078,10 +47290,6 @@ test-x11-no-desktop_0.1_all.snap: pass
2802 "manual_review": false,
2803 "text": "desktop interfaces (x11) specified without a corresponding meta/gui/*.desktop file. If your application does not require a desktop file, you may ignore this. Otherwise, if using snapcraft, please see https://snapcraft.io/docs/build-snaps/metadata#fixed-assets or provide a desktop file in meta/gui/*.desktop (it should reference one of the 'apps' from your snapcraft/snap.yaml)."
2804 },
2805- "lint-snap-v2:name_valid": {
2806- "manual_review": false,
2807- "text": "OK"
2808- },
2809 "lint-snap-v2:plugs:x11:x11": {
2810 "manual_review": false,
2811 "text": "OK"
2812@@ -48217,10 +47425,6 @@ ubuntu-core_16.04.1+test1_amd64.snap: pass
2813 "manual_review": false,
2814 "text": "OK"
2815 },
2816- "lint-snap-v2:name_valid": {
2817- "manual_review": false,
2818- "text": "OK"
2819- },
2820 "lint-snap-v2:snap_type_redflag": {
2821 "manual_review": false,
2822 "text": "OK (override 'ubuntu-core' for 'type: os')"
2823@@ -48327,10 +47531,6 @@ ubuntu-core_16.04.1+test1_amd64.snap: pass
2824 "manual_review": false,
2825 "text": "OK"
2826 },
2827- "lint-snap-v2:name_valid": {
2828- "manual_review": false,
2829- "text": "OK"
2830- },
2831 "lint-snap-v2:snap_type_redflag": {
2832 "manual_review": false,
2833 "text": "OK (override 'ubuntu-core' for 'type: os')"
2834@@ -48588,10 +47788,6 @@ vlc_daily+test1_amd64.snap: pass
2835 "manual_review": false,
2836 "text": "OK"
2837 },
2838- "lint-snap-v2:name_valid": {
2839- "manual_review": false,
2840- "text": "OK"
2841- },
2842 "lint-snap-v2:snap_type_redflag": {
2843 "manual_review": false,
2844 "text": "OK"
2845@@ -48860,10 +48056,6 @@ vlc_daily+test1_amd64.snap: pass
2846 "manual_review": false,
2847 "text": "OK"
2848 },
2849- "lint-snap-v2:name_valid": {
2850- "manual_review": false,
2851- "text": "OK"
2852- },
2853 "lint-snap-v2:snap_type_redflag": {
2854 "manual_review": false,
2855 "text": "OK"
2856@@ -49060,10 +48252,6 @@ test-classic_0_all.snap: pass
2857 "manual_review": false,
2858 "text": "OK"
2859 },
2860- "lint-snap-v2:name_valid": {
2861- "manual_review": false,
2862- "text": "OK"
2863- },
2864 "lint-snap-v2:snap_type_redflag": {
2865 "manual_review": false,
2866 "text": "OK"
2867@@ -49263,10 +48451,6 @@ test-classic_0_all.snap: pass
2868 "manual_review": false,
2869 "text": "OK"
2870 },
2871- "lint-snap-v2:name_valid": {
2872- "manual_review": false,
2873- "text": "OK"
2874- },
2875 "lint-snap-v2:snap_type_redflag": {
2876 "manual_review": false,
2877 "text": "OK"
2878@@ -49467,10 +48651,6 @@ test-classic_0_all.snap: pass
2879 "manual_review": false,
2880 "text": "OK"
2881 },
2882- "lint-snap-v2:name_valid": {
2883- "manual_review": false,
2884- "text": "OK"
2885- },
2886 "lint-snap-v2:snap_type_valid": {
2887 "manual_review": false,
2888 "text": "OK"
2889@@ -126571,10 +125751,6 @@ hello-world_25.snap: FAIL
2890 "manual_review": false,
2891 "text": "OK"
2892 },
2893- "lint-snap-v2:name_valid": {
2894- "manual_review": false,
2895- "text": "OK"
2896- },
2897 "lint-snap-v2:snap_type_redflag": {
2898 "manual_review": false,
2899 "text": "OK"
2900@@ -126890,10 +126066,6 @@ hello-world_25.snap: FAIL
2901 "manual_review": false,
2902 "text": "OK"
2903 },
2904- "lint-snap-v2:name_valid": {
2905- "manual_review": false,
2906- "text": "OK"
2907- },
2908 "lint-snap-v2:snap_type_redflag": {
2909 "manual_review": false,
2910 "text": "OK"

Subscribers

People subscribed via source and target branches