-- -- tests/base/test_include.lua -- Test the include() function, for including external scripts -- Copyright (c) 2011-2014 Jason Perkins and the Premake project -- local p = premake local suite = test.declare("include") -- -- Setup and teardown -- function suite.teardown() -- clear the list of included files after each run io._includedFiles = { } end -- -- Tests -- function suite.include_findsPremakeFile_onFolderNameOnly() include (_TESTS_DIR .. "/folder") test.isequal("ok", p.captured()) end function suite.include_onExactFilename() include (_TESTS_DIR .. "/folder/premake5.lua") test.isequal("ok", p.captured()) end function suite.include_runsOnlyOnce_onMultipleIncludes() include (_TESTS_DIR .. "/folder/premake5.lua") include (_TESTS_DIR .. "/folder/premake5.lua") test.isequal("ok", p.captured()) end function suite.include_runsOnlyOnce_onMultipleIncludesWithDifferentPaths() include (_TESTS_DIR .. "/folder/premake5.lua") include (_TESTS_DIR .. "/../tests/folder/premake5.lua") test.isequal("ok", p.captured()) end function suite.includeexternal_runs() includeexternal (_TESTS_DIR .. "/folder/premake5.lua") test.isequal("ok", p.captured()) end function suite.includeexternal_runsAfterInclude() include (_TESTS_DIR .. "/folder/premake5.lua") includeexternal (_TESTS_DIR .. "/folder/premake5.lua") test.isequal("okok", p.captured()) end function suite.includeexternal_runsTwiceAfterInclude() include (_TESTS_DIR .. "/folder/premake5.lua") includeexternal (_TESTS_DIR .. "/folder/premake5.lua") includeexternal (_TESTS_DIR .. "/folder/premake5.lua") test.isequal("okokok", p.captured()) end