Skip to content

Commit 4190934

Browse files
committed
Return error codes correctly (see #1)
1 parent e9954ca commit 4190934

File tree

2 files changed

+17
-3
lines changed

2 files changed

+17
-3
lines changed

def_main.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@ def def_main(f: Callable) -> Callable:
1010
MAINS.append((f, s.filename, s.lineno))
1111

1212
if f.__module__ == '__main__':
13-
f(*sys.argv[1:])
13+
result = f(*sys.argv[1:])
14+
if result:
15+
sys.exit(result)
1416

1517
return f
1618

test_main.py

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,17 @@
22

33

44
@def_main
5-
def main(*argv):
6-
print('test_main says hello!, to', *argv)
5+
def main(message='you!', *rest):
6+
print('test_main says hello!, to', message, *rest)
7+
8+
9+
@def_main
10+
def error(*argv):
11+
print('error!')
12+
return 1
13+
14+
15+
@def_main
16+
def never_reached(*argv):
17+
print('This is never reached')
18+
return 0

0 commit comments

Comments
 (0)