| # RUN: %PYTHON %s | FileCheck %s |
| |
| import gc |
| from mlir.ir import * |
| |
| def run(f): |
| print("\nTEST:", f.__name__) |
| f() |
| gc.collect() |
| assert Context._get_live_count() == 0 |
| |
| |
| # CHECK-LABEL: TEST: testUnknown |
| def testUnknown(): |
| with Context() as ctx: |
| loc = Location.unknown() |
| assert loc.context is ctx |
| ctx = None |
| gc.collect() |
| # CHECK: unknown str: loc(unknown) |
| print("unknown str:", str(loc)) |
| # CHECK: unknown repr: loc(unknown) |
| print("unknown repr:", repr(loc)) |
| |
| run(testUnknown) |
| |
| |
| # CHECK-LABEL: TEST: testFileLineCol |
| def testFileLineCol(): |
| with Context() as ctx: |
| loc = Location.file("foo.txt", 123, 56) |
| ctx = None |
| gc.collect() |
| # CHECK: file str: loc("foo.txt":123:56) |
| print("file str:", str(loc)) |
| # CHECK: file repr: loc("foo.txt":123:56) |
| print("file repr:", repr(loc)) |
| |
| run(testFileLineCol) |
| |
| |
| # CHECK-LABEL: TEST: testLocationCapsule |
| def testLocationCapsule(): |
| with Context() as ctx: |
| loc1 = Location.file("foo.txt", 123, 56) |
| # CHECK: mlir.ir.Location._CAPIPtr |
| loc_capsule = loc1._CAPIPtr |
| print(loc_capsule) |
| loc2 = Location._CAPICreate(loc_capsule) |
| assert loc2 == loc1 |
| assert loc2.context is ctx |
| |
| run(testLocationCapsule) |