Mercurial > fife-parpg
view build/win32/build_environments/visual_studio_8/generate_unittests.py @ 475:afde89c1d50b
Switched to a damage system. Collisions with objects now cause 1 damage to the player.
When the boss switches weapons it now waits for the weapons firerate value in time to pass before it fires its first burst with the new weapon.
Fixed a little problem with the high score dialog as it operates in modal mode. It now waits for the entire frame to be complete before displaying the dialog box.
author | prock@33b003aa-7bff-0310-803a-e67f0ece8222 |
---|---|
date | Wed, 21 Apr 2010 18:20:13 +0000 |
parents | 4a0efb7baf70 |
children |
line wrap: on
line source
import sys, os , pythoncom def main (from_path, to_path): # check if the output-folder exists if os.path.exists(to_path) == False: os.mkdir(to_path); # traverse the unit_test-files files = os.listdir(from_path) guidlist=[] filelist=[] for file in files: if (file[-4:] == ".cpp"): guidlist.append(writeProject(file[0:-4], to_path)) filelist.append(file[0:-4].replace("test_", "testprog_")) writeSolution(to_path, filelist, guidlist) def writeProject(file, to_path): infile = open("unittest_template.xml", "r") outfile = open(to_path + "/" + file.replace("test_", "testprog_") + ".vcproj", "w") text = infile.read() guid = pythoncom.CreateGuid() text = text.replace("__INSERT_NAME_HERE__", file.replace("test_", "testprog_")) text = text.replace("__INSERT_FILENAME_HERE__", file) text = text.replace("__INSERT_GUID_HERE__", str(guid)) outfile.write(text) return str(guid) def writeSolution(to_path, namelist, guidlist): solution = open(to_path + "/unit_tests.sln", "w") solution.write("\xef\xbb\xbf\n") # Specify MSVS 2005 solution.write("Microsoft Visual Studio Solution File, Format Version 9.00\n") solution.write("# Visual Studio 2005\n") # add the libfife-project solution.write("Project(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"libfife\", \"..\\fife.vcproj\", \"{96025707-5759-400D-80E5-A1E94C8A79A2}\"\n") solution.write("EndProject\n") # Add the test projects: for i in range(len(namelist)): solution.write("Project(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"" + namelist[i] + "\", \"" + namelist[i] + ".vcproj\", \"" + guidlist[i] + "\"\n") solution.write(" ProjectSection(ProjectDependencies) = postProject\n") solution.write(" {96025707-5759-400D-80E5-A1E94C8A79A2} = {96025707-5759-400D-80E5-A1E94C8A79A2}\n") solution.write(" EndProjectSection\n") solution.write("EndProject\n") solution.write("Global\n") solution.write(" GlobalSection(SolutionConfigurationPlatforms) = preSolution\n") solution.write(" Debug_static|Win32 = Debug_static|Win32\n") solution.write(" Release_static|Win32 = Release_static|Win32\n") solution.write(" EndGlobalSection\n") solution.write(" GlobalSection(ProjectConfigurationPlatforms) = postSolution\n") solution.write(" {96025707-5759-400D-80E5-A1E94C8A79A2}.Debug_static|Win32.ActiveCfg = Debug_static|Win32\n") solution.write(" {96025707-5759-400D-80E5-A1E94C8A79A2}.Debug_static|Win32.Build.0 = Debug_static|Win32\n") solution.write(" {96025707-5759-400D-80E5-A1E94C8A79A2}.Release_static|Win32.ActiveCfg = Release_static|Win32\n") solution.write(" {96025707-5759-400D-80E5-A1E94C8A79A2}.Release_static|Win32.Build.0 = Release_static|Win32\n") for guid in guidlist: solution.write(" " + guid + ".Debug|Win32.ActiveCfg = Debug_static|Win32\n") solution.write(" " + guid + ".Debug|Win32.Build.0 = Debug_static|Win32\n") solution.write(" " + guid + ".Release|Win32.ActiveCfg = Release_static|Win32\n") solution.write(" " + guid + ".Release|Win32.Build.0 = Release_static|Win32\n") solution.write(" EndGlobalSection\n") solution.write(" GlobalSection(SolutionProperties) = preSolution\n") solution.write(" HideSolutionNode = FALSE\n") solution.write(" EndGlobalSection\n") solution.write("EndGlobal\n") # call main function main ("../../../../tests/core_tests", "./unit_tests")