Page MenuHomePhabricator

[CI] Add a Powershell script for running tests on windows
ClosedPublic

Authored by Fabien on Thu, Sep 24, 21:43.

Details

Summary

This diff adds a Powershell script which takes the build artifacts from
a windows cross build as an input and run some basic tests on it.

This version is simple enough to run on any Windows 10 teamcity agent
and requires no additional dependency nor VCS checkout. More tests can
be added later as needed. The avalanche test
processor_tests/poll_inflight_timeout will hang forever and needs
further investigation, it is disabled for now.

Test Plan

I setup a Windows 10 VM, installed the teamcity agent software and ran
this script from the teamcity config. Example output:
https://build.bitcoinabc.org/viewLog.html?buildId=65812&buildTypeId=BitcoinABC_Master_CrossBuilds_TestNativeWindows&tab=buildLog

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

Fabien requested review of this revision.Thu, Sep 24, 21:43
jasonbcox requested changes to this revision.Fri, Sep 25, 02:33
jasonbcox added a subscriber: jasonbcox.
jasonbcox added inline comments.
contrib/teamcity/run-tests-windows.ps1
35 ↗(On Diff #23778)

I see -NoNewWindow, but any reason there's no -daemon set on bitcoind?

This revision now requires changes to proceed.Fri, Sep 25, 02:33
Fabien requested review of this revision.Fri, Sep 25, 06:58
Fabien added inline comments.
contrib/teamcity/run-tests-windows.ps1
35 ↗(On Diff #23778)

Because -daemon is not supported on this operating system

deadalnix added a subscriber: deadalnix.

Accepting, thi is is ultimately not be very maintainable. check-pow for instance doesn't run. More generally, any change there will lead to missing tests silently.

This revision is now accepted and ready to land.Fri, Sep 25, 16:02

The pow test are run, but yes I need to find a way to make it maintainable. This is a first step to get something running.