Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/windirstat/premake-4.x-stable.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Perkins <starkos@industriousone.com>2011-04-28 02:43:15 +0400
committerJason Perkins <starkos@industriousone.com>2011-04-28 02:43:15 +0400
commit33ee5f16503b7218cf673ffd27849e6e3f9bf885 (patch)
tree64af4c56b9297253a20719bc56b750aac276931e /tests/base
parent7cb152488592fcb688ade724bd4094b7839058ef (diff)
Bug 3277357: Projects no longer inherit location from solution
Diffstat (limited to 'tests/base')
-rw-r--r--tests/base/test_location.lua100
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