Making wcautil unit-testable

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Making wcautil unit-testable

Heath Stewart-3
So I'm looking at fixing http://wixtoolset.org/issues/4668/ (pretty sure I already identified the issue), but want to make sure we have coverage for the change which was lacking before.
 
Many of the Wca* functions call ::MsiProcessMessage via WcaProcessMessage, which provides a perfect opportunity to use overrides similar to Wiu*, Reg*, and other APIs. It's been my observation that whatever MsiProcessMessage() sends goes right back to the external UI handler without modification in most cases (when not handled exclusively by Windows Installer).
 
Would we want to provide overrides for unit testing, or maybe just have a small MSI (though I hate checking in binaries to Git) we can set "install" with an external UI handler. We could remove the RegisterProduct action to avoid it ever actually installing.
 
Thoughts?


Heath Stewart
Software Engineer
Visual Studio, Microsoft
http://blogs.msdn.com/heaths
 

------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
WiX-devs mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-devs
Reply | Threaded
Open this post in threaded view
|

Re: Making wcautil unit-testable

Rob Mensching-7

1.       Can we actually unit test much by hooking just ::MsiProcessMessage()? If so, cool.

2.       Instead of checking in a binary MSI + external UI handler, we can just build them.

 

_______________________________________________________________

FireGiant  |  Dedicated support for the WiX toolset  |  http://www.firegiant.com/

 

From: Heath Stewart [mailto:[hidden email]]
Sent: Thursday, May 14, 2015 10:43 PM
To: [hidden email]
Subject: [WiX-devs] Making wcautil unit-testable

 

So I'm looking at fixing http://wixtoolset.org/issues/4668/ (pretty sure I already identified the issue), but want to make sure we have coverage for the change which was lacking before.
 
Many of the Wca* functions call ::MsiProcessMessage via WcaProcessMessage, which provides a perfect opportunity to use overrides similar to Wiu*, Reg*, and other APIs. It's been my observation that whatever MsiProcessMessage() sends goes right back to the external UI handler without modification in most cases (when not handled exclusively by Windows Installer).
 
Would we want to provide overrides for unit testing, or maybe just have a small MSI (though I hate checking in binaries to Git) we can set "install" with an external UI handler. We could remove the RegisterProduct action to avoid it ever actually installing.
 
Thoughts?

Heath Stewart
Software Engineer
Visual Studio, Microsoft
http://blogs.msdn.com/heaths

 


------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
WiX-devs mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-devs
Reply | Threaded
Open this post in threaded view
|

Re: Making wcautil unit-testable

Heath Stewart-3
In reply to this post by Heath Stewart-3
1. Quite a bit, actually. It's really more of a gateway.

2. We could just use lambdas and not have to check in an external UI handler. Building takes time (and is one common reason some people don't run tests), but we could build once for most cases as an optimization.

Sent from my Windows Phone

From: [hidden email]
Sent: ‎5/‎19/‎2015 1:22 PM
To: [hidden email]
Subject: Re: [WiX-devs] Making wcautil unit-testable

1.       Can we actually unit test much by hooking just ::MsiProcessMessage()? If so, cool.

2.       Instead of checking in a binary MSI + external UI handler, we can just build them.

 

_______________________________________________________________

FireGiant  |  Dedicated support for the WiX toolset  |  http://www.firegiant.com/

 

From: Heath Stewart [mailto:[hidden email]]
Sent: Thursday, May 14, 2015 10:43 PM
To: [hidden email]
Subject: [WiX-devs] Making wcautil unit-testable

 

So I'm looking at fixing http://wixtoolset.org/issues/4668/ (pretty sure I already identified the issue), but want to make sure we have coverage for the change which was lacking before.
 
Many of the Wca* functions call ::MsiProcessMessage via WcaProcessMessage, which provides a perfect opportunity to use overrides similar to Wiu*, Reg*, and other APIs. It's been my observation that whatever MsiProcessMessage() sends goes right back to the external UI handler without modification in most cases (when not handled exclusively by Windows Installer).
 
Would we want to provide overrides for unit testing, or maybe just have a small MSI (though I hate checking in binaries to Git) we can set "install" with an external UI handler. We could remove the RegisterProduct action to avoid it ever actually installing.
 
Thoughts?

Heath Stewart
Software Engineer
Visual Studio, Microsoft
http://blogs.msdn.com/heaths

 


------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
WiX-devs mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-devs

------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
WiX-devs mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-devs