blob: 107a8380f1ada741c4516295f1ff62b034a0df77 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
#!/bin/bash
# Copyright 2018 The Servo Project Developers. See the COPYRIGHT
# file at the top-level directory of this distribution.
#
# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
# http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
# <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
# option. This file may not be copied, modified, or distributed
# except according to those terms.
''''set -e
python3 -m coverage run $0
python3 -m coverage report -m --fail-under 100
exit
Run the decision task with fake Taskcluster APIs, to catch Python errors before pushing.
'''
import os
import sys
from unittest.mock import MagicMock
class TaskclusterRestFailure(Exception):
status_code = 404
class Index:
__init__ = insertTask = lambda *_, **__: None
def findTask(self, path):
if decision_task.CONFIG.git_ref == "refs/heads/master":
return {"taskId": "<from index>"}
raise TaskclusterRestFailure
stringDate = str
slugId = b"<new id>".lower
sys.exit = Queue = fromNow = MagicMock()
sys.dont_write_bytecode = True
os.environ.update(**{k: k for k in "TASK_ID TASK_OWNER TASK_SOURCE GIT_URL GIT_SHA".split()})
os.environ["GIT_REF"] = "refs/heads/auto"
os.environ["TASKCLUSTER_ROOT_URL"] = "https://community-tc.services.mozilla.com"
os.environ["TASKCLUSTER_PROXY_URL"] = "http://taskcluster"
os.environ["NEW_AMI_WORKER_TYPE"] = "-"
import decision_task # noqa: E402
decision_task.decisionlib.subprocess = MagicMock()
print("\n# Push:")
decision_task.main("github-push")
print("\n# Push with hot caches:")
decision_task.main("github-push")
print("\n# Push to master:")
decision_task.CONFIG.git_ref = "refs/heads/master"
decision_task.main("github-push")
print("\n# Daily:")
decision_task.main("daily")
print("\n# Try AMI:")
decision_task.main("try-windows-ami")
print("\n# PR:")
decision_task.main("github-pull-request")
print()
|