Note that the to_json method prefers the taskgraph's dependencies information (edges) to that from the task.dependencies entries. At a few points in task-graph generation, these values differ, although that is expected (for example, the full task set contains no edges, but that information is still in task.dependencies). Unifying that representation leads to some difficulty with task transforms that reach into the dependency tree (beetmover), so the different representations are left as-is. MozReview-Commit-ID: GeW8HNwFA9Z
49 lines
1.5 KiB
Python
49 lines
1.5 KiB
Python
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
from __future__ import absolute_import, print_function, unicode_literals
|
|
|
|
import os
|
|
import json
|
|
import yaml
|
|
import shutil
|
|
import unittest
|
|
import tempfile
|
|
|
|
from .. import decision
|
|
from mozunit import main
|
|
|
|
|
|
class TestDecision(unittest.TestCase):
|
|
|
|
def test_write_artifact_json(self):
|
|
data = [{'some': 'data'}]
|
|
tmpdir = tempfile.mkdtemp()
|
|
try:
|
|
decision.ARTIFACTS_DIR = os.path.join(tmpdir, "artifacts")
|
|
decision.write_artifact("artifact.json", data)
|
|
with open(os.path.join(decision.ARTIFACTS_DIR, "artifact.json")) as f:
|
|
self.assertEqual(json.load(f), data)
|
|
finally:
|
|
if os.path.exists(tmpdir):
|
|
shutil.rmtree(tmpdir)
|
|
decision.ARTIFACTS_DIR = 'artifacts'
|
|
|
|
def test_write_artifact_yml(self):
|
|
data = [{'some': 'data'}]
|
|
tmpdir = tempfile.mkdtemp()
|
|
try:
|
|
decision.ARTIFACTS_DIR = os.path.join(tmpdir, "artifacts")
|
|
decision.write_artifact("artifact.yml", data)
|
|
with open(os.path.join(decision.ARTIFACTS_DIR, "artifact.yml")) as f:
|
|
self.assertEqual(yaml.safe_load(f), data)
|
|
finally:
|
|
if os.path.exists(tmpdir):
|
|
shutil.rmtree(tmpdir)
|
|
decision.ARTIFACTS_DIR = 'artifacts'
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|