-- -- tests/actions/make/test_config_maps.lua -- Validate handling of configuration maps in makefiles. -- Copyright (c) 2012 Jason Perkins and the Premake project -- local p = premake local suite = test.declare("make_config_maps") local make = p.make -- -- Setup/teardown -- local wks, prj function suite.setup() wks = test.createWorkspace() end local function prepare() make.configmap(wks) end -- -- If no map is present, the configurations should pass through -- to the projects unchanged. -- function suite.passesThroughConfigs_onNoMap() prepare() test.capture [[ ifeq ($(config),debug) MyProject_config = debug endif ifeq ($(config),release) MyProject_config = release endif ]] end -- -- If a map is present, the configuration change should be applied. -- function suite.passesThroughConfigs_onMap() configmap { Debug = "Development" } prepare() test.capture [[ ifeq ($(config),debug) MyProject_config = development endif ifeq ($(config),release) MyProject_config = release endif ]] end -- -- If a configuration is not included in a particular project, -- no mapping should be created. -- function suite.passesThroughConfigs_onNoMapRemovedConfiguration() removeconfigurations { "Debug" } prepare() test.capture [[ ifeq ($(config),debug) endif ifeq ($(config),release) MyProject_config = release endif ]] end