Writing app to build HLK submission: How to load results from another test controller?

I’ve gone through the HLK API and do not understand how to import/load the merge from another controller. I’ve gone through the forums here and searched online.

We need to run the tests on one set of controller machines, gather the results and build the final package on another. I see how to build the tests, run the tests, export from each controller, but I cannot find anything to ‘import’ those test results (.hlkx) onto another controller for merger and signing for submission.

I’m trying to do this in C#. I’m not opposed to PowerShell, but what I’ve found leaves gaps of how to do things.

Thank you in advance,
Ed

And you think this should be posted in the Announcements and Administration forum??

I think you want your query to be in NTDEV… I’ll move it for you.

Peter

Thank you. None of the forums really sounded right.

Apologies and thank you.

@edharfmann
You can use the PackageWriter.Merge() method to merge hlkx packages together. The procedure looks like this:

If merging is performed on one of the controllers involved in testing, then you already have a driver testing project, and you can start with it by creating a PackageWriter instance initialized by this project. If you have a clear dedicated machine, you get the first hlkx package, initialize a PackageManager instance using the path to hlkx as initizlizer, and then use PackageManager.GetProject() to use as initializer for PackageWriter. Either way, you now have a PackageWriter instance.

Now you just enumerate the rest of the hlkx packages, open each of them using PackageManager, and merge their projects into your PackageWriter using the Merge() method. Keep in mind that attached drivers and supplemental files will not be merged automatically. If you need them, you have to extract them from those packages and later you can add them into your new merged package using the respective methods. You will need to keep track which drivers correspond to which targets, if they are different (like 32- and 64-bit versions, or even different OS versions).

Finally, dump the merged package onto disk using the Save() method, and there you go.

1 Like

Thank you very much. That’s the info I needed to get started.