1*9f3f6d7bSStella Laurenzo# RUN: %PYTHON %s | FileCheck %s
2*9f3f6d7bSStella Laurenzo
3*9f3f6d7bSStella Laurenzofrom mlir.ir import *
4*9f3f6d7bSStella Laurenzo
5*9f3f6d7bSStella Laurenzodef run(f):
6*9f3f6d7bSStella Laurenzo  print("\nTEST:", f.__name__)
7*9f3f6d7bSStella Laurenzo  f()
8*9f3f6d7bSStella Laurenzo
9*9f3f6d7bSStella Laurenzo
10*9f3f6d7bSStella Laurenzo# CHECK-LABEL: TEST: testNameIsPrivate
11*9f3f6d7bSStella Laurenzodef testNameIsPrivate():
12*9f3f6d7bSStella Laurenzo  # `import *` ignores private names starting with an understore, so the debug
13*9f3f6d7bSStella Laurenzo  # flag shouldn't be visible unless explicitly imported.
14*9f3f6d7bSStella Laurenzo  try:
15*9f3f6d7bSStella Laurenzo    _GlobalDebug.flag = True
16*9f3f6d7bSStella Laurenzo  except NameError:
17*9f3f6d7bSStella Laurenzo    pass
18*9f3f6d7bSStella Laurenzo  else:
19*9f3f6d7bSStella Laurenzo    assert False, "_GlobalDebug must not be available by default"
20*9f3f6d7bSStella Laurenzo
21*9f3f6d7bSStella Laurenzorun(testNameIsPrivate)
22*9f3f6d7bSStella Laurenzo
23*9f3f6d7bSStella Laurenzo
24*9f3f6d7bSStella Laurenzo# CHECK-LABEL: TEST: testDebugDlag
25*9f3f6d7bSStella Laurenzodef testDebugDlag():
26*9f3f6d7bSStella Laurenzo  # Private names must be imported expilcitly.
27*9f3f6d7bSStella Laurenzo  from mlir.ir import _GlobalDebug
28*9f3f6d7bSStella Laurenzo
29*9f3f6d7bSStella Laurenzo  # CHECK: False
30*9f3f6d7bSStella Laurenzo  print(_GlobalDebug.flag)
31*9f3f6d7bSStella Laurenzo  _GlobalDebug.flag = True
32*9f3f6d7bSStella Laurenzo  # CHECK: True
33*9f3f6d7bSStella Laurenzo  print(_GlobalDebug.flag)
34*9f3f6d7bSStella Laurenzo  _GlobalDebug.flag = False
35*9f3f6d7bSStella Laurenzo  # CHECK: False
36*9f3f6d7bSStella Laurenzo  print(_GlobalDebug.flag)
37*9f3f6d7bSStella Laurenzo
38*9f3f6d7bSStella Laurenzorun(testDebugDlag)
39*9f3f6d7bSStella Laurenzo
40