premake/tests/workspace/test_eachconfig.lua

86 lines
1.4 KiB
Lua
Raw Normal View History

--
-- tests/workspace/test_eachconfig.lua
-- Automated test suite for the workspace-level configuration iterator.
-- Copyright (c) 2012-2015 Jason Perkins and the Premake project
--
local suite = test.declare("workspace_eachconfig")
local p = premake
--
-- Setup and teardown
--
2015-08-28 20:16:14 +00:00
local wks
function suite.setup()
wks = workspace("MyWorkspace")
end
local function prepare()
p.w("-")
for cfg in p.workspace.eachconfig(wks) do
p.w("%s:%s", cfg.buildcfg or "", cfg.platform or "")
end
p.w("-")
end
--
-- All configurations listed at the workspace level should be enumerated.
--
function suite.listsBuildConfigurations_onWorkspaceLevel()
configurations { "Debug", "Release" }
project("MyProject")
prepare()
test.capture [[
-
Debug:
Release:
-
]]
end
--
-- Iteration order should be build configurations, then platforms.
--
function suite.listsInOrder_onBuildConfigsAndPlatforms()
configurations { "Debug", "Release" }
platforms { "x86", "x86_64" }
project("MyProject")
prepare()
test.capture [[
-
Debug:x86
Debug:x86_64
Release:x86
Release:x86_64
-
]]
end
--
-- Configurations listed at the project level should *not* be included
-- in the workspace-level lists.
--
function suite.excludesProjectLevelConfigs()
configurations { "Debug", "Release" }
project ("MyProject")
configurations { "PrjDebug", "PrjRelease" }
platforms { "x86", "x86_64" }
prepare()
test.capture [[
-
Debug:
Release:
-
]]
end