= Introduction = This page outlines the tests we do or should run on Windows. = Windows-specific components = == OpenVPN-GUI == [https://github.com/OpenVPN/openvpn-gui OpenVPN-GUI] communicates with OpenVPN using the management interface, as do all the more recent GUIs. Thus management interface tests (below) help verify correct operation of OpenVPN-GUI. All the basic functions of OpenVPN-GUI should be tested, but how would these tests be automated? Would it require an automation API in OpenVPN-GUI itself? == Openvpnserv2 == All the basic functionality of [https://github.com/OpenVPN/openvpnserv2 openvpnserv2] should be tested. * Ensuring that the service can be enabled / disabled / started / stopped on all platforms * Restarting a connection that goes down * Proper behavior with broken configuration files * What is "proper behavior" needs to be discussed = Windows-specific command-line tools = == netsh == Ensure that the netsh calls that OpenVPN makes have the desired effect. = Windows-specific options = Ensure that various Windows-specific options behave as excepted == ip-win32 == * dynamic (= DHCP) * ipapi (= windows API system calls) * netsh (= netsh.exe calls) * maybe even "adaptive" (= try ipapi, fall back to dynamic) my minimal run.bat test has cases for that, and it seems {{{ --ip-win32 netsh }}} is already unreliable today, before d12fk's patch. = Management interface = Ensure that management interface commands work as expected, with particular focus on the commands and sequences that a GUI typically uses. These tests should automated immediately. Questions: * How do we automate the tests? * What are the commands and sequences we should test? = Basic connectivity testing = Extend t_client.sh tests to Windows also. Right now: barebones run.bat+run2.bat = Infrastructure needed for the tests = * t_client server side * what about testing "clients on other systems, server on windows"?