Skip to content

Commit

Permalink
Update tests
Browse files Browse the repository at this point in the history
  • Loading branch information
namannimmo10 authored and certik committed Jun 21, 2022
1 parent 03e0133 commit 45b3919
Show file tree
Hide file tree
Showing 4 changed files with 47 additions and 24 deletions.
53 changes: 29 additions & 24 deletions integration_tests/expr_05.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,6 @@ def main0():
i = 1
i += 1
assert i == 2
a = 2
b = 5
assert test_mod(a, b) == 2
assert test_mod(23, 3) == 2
a = 123282374
b = 32771
assert test_mod(a, b) == 30643
a = -123282374
b = 32771
assert test_mod(a, b) == 2128

assert 10 | 4 == 14
assert -105346 | -32771 == -32769
Expand All @@ -35,19 +25,34 @@ def main0():
assert -105346 ^ -32771 == 72579
assert 10 >> 1 == 5
assert 5 << 1 == 10
i1: i32 = 10
i2: i32 = 4
assert i1 << i2 == 160
assert i1 >> i2 == 0
assert i1 & i2 == 0
assert i1 | i2 == 14
assert i1 ^ i2 == 14
assert -i1 ^ -i2 == 10
i3: i32 = 432534534
i4: i32 = -4325
assert i3 | i4 == -225
assert i4 >> 3 == -541
assert -i3 & i4 == -432534758
assert -i3 ^ i4 == 432530657

#: TODO: uncomment once modulo support is added in LLVM
# a = 2
# b = 5
# assert test_mod(a, b) == 2
# assert test_mod(23, 3) == 2
# a = 123282374
# b = 32771
# assert test_mod(a, b) == 30643
# a = -123282374
# b = 32771
# assert test_mod(a, b) == 2128

#: TODO: uncomment these tests once
#: bitwise operator supported is added in LLVM
# i1: i32 = 10
# i2: i32 = 4
# assert i1 << i2 == 160
# assert i1 >> i2 == 0
# assert i1 & i2 == 0
# assert i1 | i2 == 14
# assert i1 ^ i2 == 14
# assert -i1 ^ -i2 == 10
# i3: i32 = 432534534
# i4: i32 = -4325
# assert i3 | i4 == -225
# assert i4 >> 3 == -541
# assert -i3 & i4 == -432534758
# assert -i3 ^ i4 == 432530657

main0()
13 changes: 13 additions & 0 deletions tests/reference/asr-expr_05-3a37324.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"basename": "asr-expr_05-3a37324",
"cmd": "lpython --show-asr --no-color {infile} -o {outfile}",
"infile": "tests/../integration_tests/expr_05.py",
"infile_hash": "cba63e73ff49ca52b1b6e36312668313fea5791780985ac02bcdc1b6",
"outfile": null,
"outfile_hash": null,
"stdout": "asr-expr_05-3a37324.stdout",
"stdout_hash": "6545f63f247a2ad710e4eecb5438044c1d17a5ccbe8ef2e60fafa98d",
"stderr": null,
"stderr_hash": null,
"returncode": 0
}
1 change: 1 addition & 0 deletions tests/reference/asr-expr_05-3a37324.stdout
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
(TranslationUnit (SymbolTable 1 {_lpython_main_program: (Subroutine (SymbolTable 6 {}) _lpython_main_program [] [(SubroutineCall 1 main0 () [] ())] Source Public Implementation () .false. .false.), main0: (Subroutine (SymbolTable 4 {a: (Variable 4 a Local () () Default (Integer 4 []) Source Public Required .false.), b: (Variable 4 b Local () () Default (Integer 4 []) Source Public Required .false.), i: (Variable 4 i Local () () Default (Integer 8 []) Source Public Required .false.)}) main0 [] [(= (Var 4 a) (IntegerConstant 10 (Integer 4 [])) ()) (= (Var 4 b) (IntegerUnaryMinus (IntegerConstant 5 (Integer 4 [])) (Integer 4 []) (IntegerConstant -5 (Integer 4 []))) ()) (Assert (Compare (FunctionCall 1 test_multiply () [((Var 4 a)) ((Var 4 b))] (Integer 4 []) () ()) Eq (IntegerUnaryMinus (IntegerConstant 50 (Integer 4 [])) (Integer 4 []) (IntegerConstant -50 (Integer 4 []))) (Logical 4 []) () ()) ()) (= (Var 4 i) (Cast (IntegerConstant 1 (Integer 4 [])) IntegerToInteger (Integer 8 []) ()) ()) (= (Var 4 i) (IntegerBinOp (Var 4 i) Add (Cast (IntegerConstant 1 (Integer 4 [])) IntegerToInteger (Integer 8 []) ()) (Integer 8 []) ()) ()) (Assert (Compare (Var 4 i) Eq (Cast (IntegerConstant 2 (Integer 4 [])) IntegerToInteger (Integer 8 []) ()) (Logical 4 []) () ()) ()) (Assert (Compare (IntegerBinOp (IntegerConstant 10 (Integer 4 [])) BitOr (IntegerConstant 4 (Integer 4 [])) (Integer 4 []) (IntegerConstant 14 (Integer 4 []))) Eq (IntegerConstant 14 (Integer 4 [])) (Logical 4 []) (LogicalConstant .true. (Logical 4 [])) ()) ()) (Assert (Compare (IntegerBinOp (IntegerUnaryMinus (IntegerConstant 105346 (Integer 4 [])) (Integer 4 []) (IntegerConstant -105346 (Integer 4 []))) BitOr (IntegerUnaryMinus (IntegerConstant 32771 (Integer 4 [])) (Integer 4 []) (IntegerConstant -32771 (Integer 4 []))) (Integer 4 []) (IntegerConstant -32769 (Integer 4 []))) Eq (IntegerUnaryMinus (IntegerConstant 32769 (Integer 4 [])) (Integer 4 []) (IntegerConstant -32769 (Integer 4 []))) (Logical 4 []) (LogicalConstant .true. (Logical 4 [])) ()) ()) (Assert (Compare (IntegerBinOp (IntegerConstant 10 (Integer 4 [])) BitAnd (IntegerConstant 4 (Integer 4 [])) (Integer 4 []) (IntegerConstant 0 (Integer 4 []))) Eq (IntegerConstant 0 (Integer 4 [])) (Logical 4 []) (LogicalConstant .true. (Logical 4 [])) ()) ()) (Assert (Compare (IntegerBinOp (IntegerUnaryMinus (IntegerConstant 105346 (Integer 4 [])) (Integer 4 []) (IntegerConstant -105346 (Integer 4 []))) BitAnd (IntegerUnaryMinus (IntegerConstant 32771 (Integer 4 [])) (Integer 4 []) (IntegerConstant -32771 (Integer 4 []))) (Integer 4 []) (IntegerConstant -105348 (Integer 4 []))) Eq (IntegerUnaryMinus (IntegerConstant 105348 (Integer 4 [])) (Integer 4 []) (IntegerConstant -105348 (Integer 4 []))) (Logical 4 []) (LogicalConstant .true. (Logical 4 [])) ()) ()) (Assert (Compare (IntegerBinOp (IntegerConstant 10 (Integer 4 [])) BitXor (IntegerConstant 4 (Integer 4 [])) (Integer 4 []) (IntegerConstant 14 (Integer 4 []))) Eq (IntegerConstant 14 (Integer 4 [])) (Logical 4 []) (LogicalConstant .true. (Logical 4 [])) ()) ()) (Assert (Compare (IntegerBinOp (IntegerUnaryMinus (IntegerConstant 105346 (Integer 4 [])) (Integer 4 []) (IntegerConstant -105346 (Integer 4 []))) BitXor (IntegerUnaryMinus (IntegerConstant 32771 (Integer 4 [])) (Integer 4 []) (IntegerConstant -32771 (Integer 4 []))) (Integer 4 []) (IntegerConstant 72579 (Integer 4 []))) Eq (IntegerConstant 72579 (Integer 4 [])) (Logical 4 []) (LogicalConstant .true. (Logical 4 [])) ()) ()) (Assert (Compare (IntegerBinOp (IntegerConstant 10 (Integer 4 [])) BitRShift (IntegerConstant 1 (Integer 4 [])) (Integer 4 []) (IntegerConstant 5 (Integer 4 []))) Eq (IntegerConstant 5 (Integer 4 [])) (Logical 4 []) (LogicalConstant .true. (Logical 4 [])) ()) ()) (Assert (Compare (IntegerBinOp (IntegerConstant 5 (Integer 4 [])) BitLShift (IntegerConstant 1 (Integer 4 [])) (Integer 4 []) (IntegerConstant 10 (Integer 4 []))) Eq (IntegerConstant 10 (Integer 4 [])) (Logical 4 []) (LogicalConstant .true. (Logical 4 [])) ()) ())] Source Public Implementation () .false. .false.), main_program: (Program (SymbolTable 5 {}) main_program [] [(SubroutineCall 1 _lpython_main_program () [] ())]), test_mod: (Function (SymbolTable 3 {_lpython_return_variable: (Variable 3 _lpython_return_variable ReturnVar () () Default (Integer 4 []) Source Public Required .false.), a: (Variable 3 a In () () Default (Integer 4 []) Source Public Required .false.), b: (Variable 3 b In () () Default (Integer 4 []) Source Public Required .false.)}) test_mod [(Var 3 a) (Var 3 b)] [(= (Var 3 _lpython_return_variable) (IntegerBinOp (Var 3 a) Mod (Var 3 b) (Integer 4 []) ()) ()) (Return)] (Var 3 _lpython_return_variable) Source Public Implementation ()), test_multiply: (Function (SymbolTable 2 {_lpython_return_variable: (Variable 2 _lpython_return_variable ReturnVar () () Default (Integer 4 []) Source Public Required .false.), a: (Variable 2 a In () () Default (Integer 4 []) Source Public Required .false.), b: (Variable 2 b In () () Default (Integer 4 []) Source Public Required .false.)}) test_multiply [(Var 2 a) (Var 2 b)] [(= (Var 2 _lpython_return_variable) (IntegerBinOp (Var 2 a) Mul (Var 2 b) (Integer 4 []) ()) ()) (Return)] (Var 2 _lpython_return_variable) Source Public Implementation ())}) [])
4 changes: 4 additions & 0 deletions tests/tests.toml
Original file line number Diff line number Diff line change
Expand Up @@ -272,6 +272,10 @@ asr = true
filename = "../integration_tests/test_max_min.py"
asr = true

[[test]]
filename = "../integration_tests/expr_05.py"
asr = true

[[test]]
filename = "../integration_tests/test_integer_bitnot.py"
asr = true
Expand Down

0 comments on commit 45b3919

Please sign in to comment.