cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Hareendra
Level 2

Deferred mode execution

Hi,

I implemented to validate installer script functions using ICE concept. It is by defeault runs in immediate mode. Can any one tell me how I can run it in deferred mode?

Thanks
Hareendra
Labels (1)
0 Kudos
(3) Replies
MichaelU
Level 12 Flexeran
Level 12 Flexeran

I don't believe the ICE model can really run in deferred mode. As it's supposed to just be validating table (and perhaps file) data read-only, this is not usually a problem. What are you trying to do that needs to be run deferred?
0 Kudos
Hareendra
Level 2

Thanks for the information.
In deferred mode almost all system global variables are not maintained. For example, WINSYSDIR global variable is set to the location of \system32 folder in immediate mode; however this variable is empty in deferred mode. And therefore, InstallScript code (production code) has DE_WINSYSDIR global variable which has the value of \system32 folder location in deferred mode. We introduced another DE_WINSYSDIR global variable specifically to emphasize that in deferred mode WINSYSDIR is not maintained anymore and something should be done to get the value of this variable.

Unit Test Suite should test functions in their modes. If a function is used in immediate mode, the correspondent test function should also be run in immediate mode. If a function is used in deferred mode, the correspondent test function should also be run in deferred mode. Otherwise many deferred mode related bugs can be missed in the test suite.

Hope that this is clear.

Thanks
Hareendra
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

I don't think there's a perfect answer to this one. A good start may be to try to share your setup.rul across multiple projects so you can build a test project using the code you want to test as well as the code that tests it. This test project can then be installed (in order to run test actions in deferred mode), and all that remains is how to access and report the data which indicates a test has passed.

One might argue that this is more of a regression test than a unit test, but once a test relies on the real environment provided to a deferred action, it's already started to blur or cross that boundary anyway.
0 Kudos