1# Copyright (c) Twisted Matrix Laboratories.
2# See LICENSE for details.
3
4"""
5Commands for reporting test success of failure to the manager.
6
7@since: 12.3
8"""
9
10from twisted.protocols.amp import Command, String, Boolean, ListOf
11
12
13
14class AddSuccess(Command):
15    """
16    Add a success.
17    """
18    arguments = [('testName', String())]
19    response = [('success', Boolean())]
20
21
22
23class AddError(Command):
24    """
25    Add an error.
26    """
27    arguments = [('testName', String()), ('error', String()),
28                 ('errorClass', String()), ('frames', ListOf(String()))]
29    response = [('success', Boolean())]
30
31
32
33class AddFailure(Command):
34    """
35    Add a failure.
36    """
37    arguments = [('testName', String()), ('fail', String()),
38                 ('failClass', String()), ('frames', ListOf(String()))]
39    response = [('success', Boolean())]
40
41
42
43class AddSkip(Command):
44    """
45    Add a skip.
46    """
47    arguments = [('testName', String()), ('reason', String())]
48    response = [('success', Boolean())]
49
50
51
52class AddExpectedFailure(Command):
53    """
54    Add an expected failure.
55    """
56    arguments = [('testName', String()), ('error', String()),
57                 ('todo', String())]
58    response = [('success', Boolean())]
59
60
61
62class AddUnexpectedSuccess(Command):
63    """
64    Add an unexpected success.
65    """
66    arguments = [('testName', String()), ('todo', String())]
67    response = [('success', Boolean())]
68
69
70
71class TestWrite(Command):
72    """
73    Write test log.
74    """
75    arguments = [('out', String())]
76    response = [('success', Boolean())]
77