Skip to content

Commit e260032

Browse files
Updated tests, fixed scoping issues
1 parent f55d40f commit e260032

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

src/scyjava/_script.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -91,15 +91,19 @@ def apply(self, arg):
9191
# Last statement looks like an expression. Evaluate!
9292
last = ast.Expression(block.body.pop().value)
9393

94-
_globals = {name: module for name, module in sys.modules.items() if name != '__main__'}
95-
94+
# _globals = {name: module for name, module in sys.modules.items() if name != '__main__'}
95+
# _globals = {__builtins__: builtins, '__name__': '__main__','__file__': '<string>', '__package__': None,}
96+
# _globals.update(globals())
97+
# _globals = None
98+
# _globals = locals()
99+
script_globals = script_locals
96100
exec(
97-
compile(block, "<string>", mode="exec"), _globals, script_locals
101+
compile(block, "<string>", mode="exec"), script_globals, script_locals
98102
)
99103
if last is not None:
100104
return_value = eval(
101105
compile(last, "<string>", mode="eval"),
102-
_globals,
106+
script_globals,
103107
script_locals,
104108
)
105109
except Exception:

tests/it/script_scope.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
script = """
3030
#@ int age
3131
#@output String cbrt_age
32+
import numpy as np
3233
import math
3334
3435
def calculate_cbrt(age):
@@ -57,5 +58,5 @@ def calculate_cbrt(age):
5758
sys.stderr.write(f"{trace}\n")
5859
raise e
5960

60-
assert return_value == "The rounded cube root of my age is 2"
6161
assert statement == "2"
62+
assert return_value == "The rounded cube root of my age is 2"

0 commit comments

Comments
 (0)