91 lines
1.4 KiB
Lua
91 lines
1.4 KiB
Lua
--
|
|
-- tests/actions/make/cs/test_sources.lua
|
|
-- Tests source file listings for C# Makefiles.
|
|
-- Copyright (c) 2013-2014 Jason Perkins and the Premake project
|
|
--
|
|
|
|
local p = premake
|
|
local suite = test.declare("make_cs_sources")
|
|
local make = p.make
|
|
local cs = p.make.cs
|
|
local project = p.project
|
|
|
|
|
|
--
|
|
-- Setup
|
|
--
|
|
|
|
local wks, prj, cfg
|
|
|
|
function suite.setup()
|
|
wks = test.createWorkspace()
|
|
end
|
|
|
|
local function prepare()
|
|
prj = p.workspace.getproject(wks, 1)
|
|
make.csSources(prj, p.tools.dotnet)
|
|
end
|
|
|
|
|
|
--
|
|
-- Files that can be compiled should be listed here.
|
|
--
|
|
|
|
function suite.doesListSourceFiles()
|
|
files { "Hello.cs" }
|
|
prepare()
|
|
test.capture [[
|
|
SOURCES += \
|
|
Hello.cs \
|
|
|
|
]]
|
|
end
|
|
|
|
--
|
|
-- Path delimiter uses slash instead of backslash
|
|
--
|
|
|
|
function suite.doesUseProperPathDelimiter()
|
|
files { "Folder\\Hello.cs", "Folder/World.cs" }
|
|
prepare()
|
|
test.capture [[
|
|
SOURCES += \
|
|
Folder/Hello.cs \
|
|
Folder/World.cs \
|
|
|
|
]]
|
|
end
|
|
|
|
|
|
--
|
|
-- Files that should not be compiled should be excluded.
|
|
--
|
|
|
|
function suite.doesIgnoreNonSourceFiles()
|
|
files { "About.txt", "Hello.cs" }
|
|
prepare()
|
|
test.capture [[
|
|
SOURCES += \
|
|
Hello.cs \
|
|
|
|
]]
|
|
end
|
|
|
|
|
|
--
|
|
-- Files with a non-standard file extension but a build action of
|
|
-- "Compile" should be listed here.
|
|
--
|
|
|
|
function suite.doesIncludeCompileBuildAction()
|
|
files { "Hello.txt" }
|
|
filter "files:*.txt"
|
|
buildaction "Compile"
|
|
prepare()
|
|
test.capture [[
|
|
SOURCES += \
|
|
Hello.txt \
|
|
|
|
]]
|
|
end
|