premake/tests/base/test_config.lua

99 lines
2.4 KiB
Lua

--
-- tests/test_config.lua
-- Automated test suite for the configuration handling functions.
-- Copyright (c) 2010 Jason Perkins and the Premake project
--
T.config = { }
local suite = T.config
--
-- Setup/Teardown
--
function suite.setup()
sln = test.createsolution()
end
local cfg
local function prepare()
premake.bake.buildconfigs()
cfg = premake.solution.getproject(sln, 1)
end
--
-- Debug/Release build testing
--
function suite.IsDebug_ReturnsFalse_EnglishSpellingOfOptimiseFlag()
flags { "Optimise" }
prepare()
return test.isfalse(premake.config.isdebugbuild(cfg))
end
function suite.IsDebug_ReturnsFalse_EnglishSpellingOfOptimiseSizeFlag()
flags { "OptimiseSize" }
prepare()
return test.isfalse(premake.config.isdebugbuild(cfg))
end
function suite.IsDebug_ReturnsFalse_EnglishSpellingOfOptimiseSpeedFlag()
flags { "OptimiseSpeed" }
prepare()
return test.isfalse(premake.config.isdebugbuild(cfg))
end
function suite.IsDebug_ReturnsFalse_OnOptimizeFlag()
flags { "Optimize" }
prepare()
return test.isfalse(premake.config.isdebugbuild(cfg))
end
function suite.IsDebug_ReturnsFalse_OnOptimizeSizeFlag()
flags { "OptimizeSize" }
prepare()
return test.isfalse(premake.config.isdebugbuild(cfg))
end
function suite.IsDebug_ReturnsFalse_OnOptimizeSpeedFlag()
flags { "OptimizeSpeed" }
prepare()
return test.isfalse(premake.config.isdebugbuild(cfg))
end
function suite.IsDebug_ReturnsFalse_OnNoSymbolsFlag()
prepare()
return test.isfalse(premake.config.isdebugbuild(cfg))
end
function suite.IsDebug_ReturnsTrue_OnSymbolsFlag()
flags { "Symbols" }
prepare()
return test.istrue(premake.config.isdebugbuild(cfg))
end
function suite.shouldIncrementallyLink_staticLib_returnsFalse()
kind "StaticLib"
prepare()
return test.isfalse(premake.config.canincrementallink(cfg))
end
function suite.shouldIncrementallyLink_optimizeFlagSet_returnsFalse()
flags { "Optimize" }
prepare()
return test.isfalse(premake.config.canincrementallink(cfg))
end
function suite.shouldIncrementallyLink_NoIncrementalLinkFlag_returnsFalse()
flags { "NoIncrementalLink" }
prepare()
return test.isfalse(premake.config.canincrementallink(cfg))
end
function suite.shouldIncrementallyLink_notStaticLib_NoIncrementalLinkFlag_noOptimiseFlag_returnsTrue()
prepare()
return test.istrue(premake.config.canincrementallink(cfg))
end