-- -- tests/test_project.lua -- Automated test suite for the project support functions. -- Copyright (c) 2008, 2009 Jason Perkins and the Premake project -- T.project = { } local cfg, result function T.project.setup() _ACTION = "gmake" cfg = {} cfg.project = {} cfg.language = "C++" cfg.files = {} cfg.trimpaths = {} cfg.platform = "Native" result = "\n" end -- -- premake.getlinks() tests -- function T.project.getlinks_OnMscSystemLibs() _OPTIONS.cc = "msc" cfg.links = { "user32", "gdi32" } result = premake.getlinks(cfg, "all", "fullpath") test.isequal("user32.lib gdi32.lib", table.concat(result, " ")) end -- -- premake.walksources() tests -- local function walktest(prj, fname, state, nestlevel) local item if (state == "GroupStart") then item = "<" .. fname .. ">" elseif (state == "GroupEnd") then item = "" else item = fname end result = result .. string.rep("-", nestlevel) .. item .. "\n" end function T.project.walksources_OnNoFiles() premake.walksources(cfg, walktest) test.isequal("\n" .. "" ,result) end function T.project.walksources_OnSingleFile() cfg.files = { "hello.cpp" } premake.walksources(cfg, walktest) test.isequal("\n" .. "hello.cpp\n" ,result) end function T.project.walksources_OnNestedGroups() cfg.files = { "rootfile.c", "level1/level1.c", "level1/level2/level2.c" } premake.walksources(cfg, walktest) test.isequal("\n" .. "\n" .. "-\n" .. "--level1/level2/level2.c\n" .. "-\n" .. "-level1/level1.c\n" .. "\n" .. "rootfile.c\n" ,result) end function T.project.walksources_OnDottedFolders() cfg.files = { "src/lua-5.1.2/lapi.c" } premake.walksources(cfg, walktest) test.isequal("\n" .. "\n" .. "-\n" .. "--src/lua-5.1.2/lapi.c\n" .. "-\n" .. "\n" ,result) end function T.project.walksources_OnDotDotLeaders() cfg.files = { "../src/hello.c", } premake.walksources(cfg, walktest) test.isequal("\n" .. "<../src>\n" .. "-../src/hello.c\n" .. "\n" ,result) end