@@ -13,6 +13,7 @@ This Source Code Form is subject to the terms of the
13
13
using ScriptEngine . HostedScript ;
14
14
using ScriptEngine . HostedScript . Extensions ;
15
15
using ScriptEngine . Hosting ;
16
+ using OneScript . Execution ;
16
17
17
18
namespace NUnitTests
18
19
{
@@ -26,6 +27,8 @@ public EngineHelpWrapper()
26
27
27
28
private IValue TestRunner { get ; set ; }
28
29
30
+ private IBslProcess Process { get ; set ; }
31
+
29
32
public void StartEngine ( )
30
33
{
31
34
var builder = DefaultEngineBuilder . Create ( ) ;
@@ -46,10 +49,11 @@ public void StartEngine()
46
49
47
50
var hosted = new HostedScriptEngine ( Engine ) ;
48
51
hosted . Initialize ( ) ;
49
-
52
+
50
53
var cs = Engine . GetCompilerService ( ) ;
51
54
var testrunnerSource = LoadCodeFromAssemblyResource ( "NUnitTests.Tests.testrunner.os" ) ;
52
- var testRunner = Engine . AttachedScriptsFactory . LoadFromString ( cs , testrunnerSource ) ;
55
+ Process = Engine . NewProcess ( ) ;
56
+ var testRunner = Engine . AttachedScriptsFactory . LoadFromString ( cs , testrunnerSource , Process ) ;
53
57
54
58
TestRunner = ( IValue ) testRunner ;
55
59
@@ -58,26 +62,26 @@ public void StartEngine()
58
62
public void RunTestScript ( string resourceName )
59
63
{
60
64
var source = LoadCodeFromAssemblyResource ( resourceName ) ;
61
- var test = Engine . AttachedScriptsFactory . LoadFromString ( Engine . GetCompilerService ( ) , source ) ;
65
+ var test = Engine . AttachedScriptsFactory . LoadFromString ( Engine . GetCompilerService ( ) , source , Process ) ;
62
66
63
67
ArrayImpl testArray ;
64
68
{
65
69
var methodIndex = test . GetMethodNumber ( "ПолучитьСписокТестов" ) ;
66
- test . CallAsFunction ( methodIndex , new IValue [ ] { TestRunner } , out var ivTests ) ;
70
+ test . CallAsFunction ( methodIndex , new IValue [ ] { TestRunner } , out var ivTests , Process ) ;
67
71
testArray = ivTests as ArrayImpl ;
68
72
}
69
73
70
74
foreach ( var ivTestName in testArray )
71
75
{
72
- string testName = ivTestName . AsString ( ) ;
76
+ string testName = ivTestName . ExplicitString ( ) ;
73
77
var methodIndex = test . GetMethodNumber ( testName ) ;
74
78
if ( methodIndex == - 1 )
75
79
{
76
80
// Тест указан, но процедуры нет или она не экспортирована
77
81
continue ;
78
82
}
79
83
80
- test . CallAsProcedure ( methodIndex , new IValue [ ] { } ) ;
84
+ test . CallAsProcedure ( methodIndex , new IValue [ ] { } , Process ) ;
81
85
}
82
86
}
83
87
0 commit comments