Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create an installation integration test #130

Open
volks73 opened this issue Nov 19, 2020 · 1 comment
Open

Create an installation integration test #130

volks73 opened this issue Nov 19, 2020 · 1 comment
Assignees

Comments

@volks73
Copy link
Owner

volks73 commented Nov 19, 2020

As mentioned in #129, a test that actually runs an installer (MSI) created with the cargo-wix subcommand should be added and the correctness verified. The msiexec command could be used.

@volks73 volks73 self-assigned this Nov 19, 2020
@volks73
Copy link
Owner Author

volks73 commented Nov 21, 2020

I tried refactoring the run method for the Execution type in the create module following the idea from #129 (comment). It is not really going to work because the linker/light command's paths and option values depend on the actual execution of the compiler/candle command. Specifically, the WiX Object files must exist on disk before the linker command is built. The WiX Object files are used to determine if a bundle (exe) or installer (msi) are being created. There might be another way to determine that information, but building up the std::process::Command variables and then testing these is currently too complicated.

I had another thought to add a trait and run_with method. The trait would define "hooks" that are called after the commands are built, but immediately before they are executed. We could then test the commands are built correctly, like checking the -arch exists, with a "TestHook" implementation of the trait. This could also be useful for users of the wix crate/library to execute various actions before and after the "stock" commands are executed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant