OILS / mycpp / examples / test_conditional.py View on Github | oilshell.org

66 lines, 37 significant
1#!/usr/bin/env python2
2"""
3conditional.py
4"""
5from __future__ import print_function
6
7import os
8import sys
9
10from typing import List
11
12from mycpp import mylib
13from mycpp.mylib import log
14
15
16def run_tests():
17 # type: () -> None
18
19 # NOTE: Output is meant to be inspected
20 if mylib.CPP:
21 log('CPP')
22 else:
23 log('CPP')
24
25 if mylib.PYTHON:
26 log('PYTHON')
27 else:
28 log('PYTHON')
29
30 if 0:
31 log('ZERO')
32
33 log('int = %d', int('123'))
34 log('bool = %d', bool(42))
35
36 mylist = [] # type: List[int]
37
38 #if mylist: # translation time error
39 if len(mylist):
40 print('mylist')
41
42 # translation error
43 #x = 1 if mylist else 2
44 x = 1 if len(mylist) else 2
45
46 log("x = %d", x)
47
48 # Expressions where parens are needed
49 a = False
50 if a and (False or True):
51 print('yes')
52 else:
53 print('no')
54
55
56def run_benchmarks():
57 # type: () -> None
58 raise NotImplementedError()
59
60
61if __name__ == '__main__':
62 if os.getenv('BENCHMARK'):
63 log('Benchmarking...')
64 run_benchmarks()
65 else:
66 run_tests()