diff --git a/avocado/core/varianter.py b/avocado/core/varianter.py index f21c421601c67ace20a7c89d65d7294353f6a503..ab8e0d6103d9430573ea858be44d71745dc11987 100644 --- a/avocado/core/varianter.py +++ b/avocado/core/varianter.py @@ -333,14 +333,20 @@ class Varianter: @classmethod def from_resultsdir(cls, resultsdir): """ - Retrieves the job variants object from the results directory. + Retrieves the job variants objects from the results directory. + + This will return a list of variants since a Job can have multiple + suites and the variants is per suite. """ path = os.path.join(resultsdir, 'jobdata', VARIANTS_FILENAME) if not os.path.exists(path): return None + variants = [] with open(path, 'r') as variants_file: - return cls(state=json.load(variants_file)) + for variant in json.load(variants_file): + variants.append(cls(state=variant)) + return variants def __len__(self): return self._no_variants diff --git a/avocado/plugins/diff.py b/avocado/plugins/diff.py index 6fb632e91483264294151f45d1459626a5354cfa..cd2a52db844084ea93e39aed09c453c9c6c05f9f 100644 --- a/avocado/plugins/diff.py +++ b/avocado/plugins/diff.py @@ -390,7 +390,8 @@ class Diff(CLICmd): results = [] variants = Varianter.from_resultsdir(resultsdir) if variants is not None: - results.extend(variants.to_str(variants=2).splitlines()) + for variant in variants: + results.extend(variant.to_str(variants=2).splitlines()) else: results.append('Not found\n')