diff options
author | Jason Perkins <starkos@industriousone.com> | 2011-04-28 02:43:15 +0400 |
---|---|---|
committer | Jason Perkins <starkos@industriousone.com> | 2011-04-28 02:43:15 +0400 |
commit | 33ee5f16503b7218cf673ffd27849e6e3f9bf885 (patch) | |
tree | 64af4c56b9297253a20719bc56b750aac276931e /tests/base | |
parent | 7cb152488592fcb688ade724bd4094b7839058ef (diff) |
Bug 3277357: Projects no longer inherit location from solution
Diffstat (limited to 'tests/base')
-rw-r--r-- | tests/base/test_location.lua | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/tests/base/test_location.lua b/tests/base/test_location.lua new file mode 100644 index 0000000..b688ae9 --- /dev/null +++ b/tests/base/test_location.lua @@ -0,0 +1,100 @@ +-- +-- tests/base/test_location.lua +-- Automated tests for the location() function. +-- Copyright (c) 2011 Jason Perkins and the Premake project +-- + + T.base_location = { } + local suite = T.base_location + + +-- +-- Setup/Teardown +-- + + function suite.setup() + sln = solution "MySolution" + configurations { "Debug", "Release" } + language "C" + end + + local function prepare() + premake.buildconfigs() + prj = premake.solution.getproject(sln, 1) + end + + +-- +-- Test no location set +-- + + function suite.solutionUsesCwd_OnNoLocationSet() + project "MyProject" + prepare() + test.isequal(os.getcwd(), sln.location) + end + + function suite.projectUsesCwd_OnNoLocationSet() + project "MyProject" + prepare() + test.isequal(os.getcwd(), prj.location) + end + + +-- +-- Test with location set on solution only +-- + + function suite.solutionUsesLocation_OnSolutionOnly() + location "build" + project "MyProject" + prepare() + test.isequal(path.join(os.getcwd(), "build"), sln.location) + end + + function suite.projectUsesLocation_OnSolutionOnly() + location "build" + project "MyProject" + prepare() + test.isequal(path.join(os.getcwd(), "build"), prj.location) + end + + +-- +-- Test with location set on project only +-- + + function suite.solutionUsesCwd_OnProjectOnly() + project "MyProject" + location "build" + prepare() + test.isequal(os.getcwd(), sln.location) + end + + function suite.projectUsesLocation_OnProjectOnly() + project "MyProject" + location "build" + prepare() + test.isequal(path.join(os.getcwd(), "build"), prj.location) + end + + +-- +-- Test with location set on both solution and project only +-- + + function suite.solutionUsesCwd_OnProjectOnly() + location "build/solution" + project "MyProject" + location "build/project" + prepare() + test.isequal(path.join(os.getcwd(), "build/solution"), sln.location) + end + + function suite.projectUsesLocation_OnProjectOnly() + location "build/solution" + project "MyProject" + location "build/project" + prepare() + test.isequal(path.join(os.getcwd(), "build/project"), prj.location) + end |