forked from M-Labs/artiq
Add lit-based tests for diagnostics.
This commit is contained in:
parent
7f77632f1a
commit
98fe152159
|
@ -358,7 +358,11 @@ class Printer(algorithm.Visitor):
|
||||||
def main():
|
def main():
|
||||||
import sys, fileinput, os
|
import sys, fileinput, os
|
||||||
|
|
||||||
inference_mode = True
|
if sys.argv[1] == '+diag':
|
||||||
|
del sys.argv[1]
|
||||||
|
inference_mode = False
|
||||||
|
else:
|
||||||
|
inference_mode = True
|
||||||
|
|
||||||
engine = diagnostic.Engine(all_errors_are_fatal=True)
|
engine = diagnostic.Engine(all_errors_are_fatal=True)
|
||||||
try:
|
try:
|
||||||
|
@ -375,6 +379,8 @@ def main():
|
||||||
if inference_mode:
|
if inference_mode:
|
||||||
print("\n".join(e.diagnostic.render()), file=sys.stderr)
|
print("\n".join(e.diagnostic.render()), file=sys.stderr)
|
||||||
exit(1)
|
exit(1)
|
||||||
|
else:
|
||||||
|
print("\n".join(e.diagnostic.render(only_line=True)))
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
|
|
|
@ -12,8 +12,10 @@ emulate the same behavior when invoked under lit.
|
||||||
import sys, os, argparse, importlib
|
import sys, os, argparse, importlib
|
||||||
|
|
||||||
parser = argparse.ArgumentParser(description=__doc__)
|
parser = argparse.ArgumentParser(description=__doc__)
|
||||||
parser.add_argument('-m', metavar='mod', type=str, help='run library module as a script')
|
parser.add_argument('-m', metavar='mod', type=str, required=True,
|
||||||
parser.add_argument('args', type=str, nargs='+', help='arguments passed to program in sys.argv[1:]')
|
help='run library module as a script')
|
||||||
|
parser.add_argument('args', type=str, nargs='+',
|
||||||
|
help='arguments passed to program in sys.argv[1:]')
|
||||||
args = parser.parse_args(sys.argv[1:])
|
args = parser.parse_args(sys.argv[1:])
|
||||||
|
|
||||||
artiq_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
|
artiq_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
# RUN: %python -m artiq.py2llvm.typing +diag %s >%t
|
||||||
|
# RUN: OutputCheck %s --file-to-check=%t
|
||||||
|
|
||||||
|
a = 1
|
||||||
|
b = []
|
||||||
|
|
||||||
|
# CHECK-L: ${LINE:+1}: fatal: cannot unify int(width='a) with list(elt='b)
|
||||||
|
a = b
|
Loading…
Reference in New Issue