diff options
author | Sebastien Barre <sebastien.barre@kitware.com> | 2002-01-18 17:03:32 (GMT) |
---|---|---|
committer | Sebastien Barre <sebastien.barre@kitware.com> | 2002-01-18 17:03:32 (GMT) |
commit | 914e051fd781b2f90e731e4bf967b5bcccc56962 (patch) | |
tree | 6543b6d67672291ecf91de40af8bf6742f52739f /Tests/ComplexOneConfig/Executable | |
parent | 6d1a312c7b9fb89d1f3e1da992941fec2e4df7ac (diff) | |
download | CMake-914e051fd781b2f90e731e4bf967b5bcccc56962.zip CMake-914e051fd781b2f90e731e4bf967b5bcccc56962.tar.gz CMake-914e051fd781b2f90e731e4bf967b5bcccc56962.tar.bz2 |
Increase coverage, add tests
Diffstat (limited to 'Tests/ComplexOneConfig/Executable')
-rw-r--r-- | Tests/ComplexOneConfig/Executable/complex.cxx | 158 |
1 files changed, 139 insertions, 19 deletions
diff --git a/Tests/ComplexOneConfig/Executable/complex.cxx b/Tests/ComplexOneConfig/Executable/complex.cxx index f48ce99..5740dfc 100644 --- a/Tests/ComplexOneConfig/Executable/complex.cxx +++ b/Tests/ComplexOneConfig/Executable/complex.cxx @@ -29,6 +29,26 @@ void Passed(const char* Message, const char* m2="") passed++; } +void TestAndRemoveFile(const char* filename) +{ + struct stat fs; + if (stat(filename, &fs) != 0) + { + Failed("Could not find file: ", filename); + } + else + { + if (unlink(filename) != 0) + { + Failed("Unable to remove file. It does not imply that this test failed, but it *will* be corrupted thereafter if this file is not removed: ", filename); + } + else + { + Passed("Find and remove file: ", filename); + } + } +} + int main() { if(sharedFunction() != 1) @@ -82,6 +102,13 @@ int main() Passed("ONE_VAR is defined."); #endif +#ifndef ONE_VAR_IS_DEFINED + Failed("cmakedefine, SET or VARIABLE_REQUIRES is broken, " + "ONE_VAR_IS_DEFINED is not defined."); +#else + Passed("ONE_VAR_IS_DEFINED is defined."); +#endif + #ifdef ZERO_VAR Failed("cmakedefine is broken, ZERO_VAR is defined."); #else @@ -89,12 +116,11 @@ int main() #endif #ifndef STRING_VAR - Failed("configureFile is broken, STRING_VAR is not defined."); + Failed("the CONFIGURE_FILE command is broken, STRING_VAR is not defined."); #else if(strcmp(STRING_VAR, "CMake is great") != 0) { - Failed("CMake is not great, so the SET command," - "or the configurefile comand is broken. STRING_VAR== ", + Failed("the SET or CONFIGURE_FILE command is broken. STRING_VAR == ", STRING_VAR); } else @@ -103,28 +129,122 @@ int main() } #endif - // Attach a post-build custom-command to the lib. - // It run ${CREATE_FILE_EXE} which will create the file - // ${Complex_BINARY_DIR}/postbuild.txt. - // The 'complex' executable will then test if this file exists, - // and remove it. +#ifndef FOREACH_VAR1 + Failed("the FOREACH, SET or CONFIGURE_FILE command is broken, " + "FOREACH_VAR1 is not defined."); +#else + if(strcmp(FOREACH_VAR1, "VALUE1") != 0) + { + Failed("the FOREACH, SET or CONFIGURE_FILE command is broken, " + "FOREACH_VAR1 == ", FOREACH_VAR1); + } + else + { + Passed("FOREACH_VAR1 == ", FOREACH_VAR1); + } +#endif - struct stat fs; - if (stat(BINARY_DIR "/postbuild.txt", &fs) != 0) +#ifndef FOREACH_VAR2 + Failed("the FOREACH, SET or CONFIGURE_FILE command is broken, " + "FOREACH_VAR2 is not defined."); +#else + if(strcmp(FOREACH_VAR2, "VALUE2") != 0) { - Failed("Could not find " BINARY_DIR "/postbuild.txt (created as a post-build custom command for the shared lib)."); + Failed("the FOREACH, SET or CONFIGURE_FILE command is broken, " + "FOREACH_VAR2 == ", FOREACH_VAR2); } else { - if (unlink(BINARY_DIR "/postbuild.txt") != 0) - { - Failed("Unable to remove " BINARY_DIR "/postbuild.txt (does not imply that this test failed, but it *will* be corrupted thereafter if this file is not removed)."); - } - else - { - Passed("Find and remove " BINARY_DIR "/postbuild.txt (created as a post-build custom command for the shared lib)."); - } + Passed("FOREACH_VAR2 == ", FOREACH_VAR2); + } +#endif + +#ifndef FILENAME_VAR_PATH_NAME + Failed("the FIND_FILE or GET_FILENAME_COMPONENT command is broken, " + "FILENAME_VAR_PATH_NAME is not defined."); +#else + if(strcmp(FILENAME_VAR_PATH_NAME, "Complex") != 0) + { + Failed("the FIND_FILE or GET_FILENAME_COMPONENT command is broken, " + "FILENAME_VAR_PATH_NAME == ", FILENAME_VAR_PATH_NAME); + } + else + { + Passed("FILENAME_VAR_PATH_NAME == ", FILENAME_VAR_PATH_NAME); } +#endif + +#ifndef FILENAME_VAR_NAME + Failed("the FIND_FILE or GET_FILENAME_COMPONENT command is broken, " + "FILENAME_VAR_NAME is not defined."); +#else + if(strcmp(FILENAME_VAR_NAME, "VarTests.txt") != 0) + { + Failed("the FIND_FILE or GET_FILENAME_COMPONENT command is broken, " + "FILENAME_VAR_NAME == ", FILENAME_VAR_NAME); + } + else + { + Passed("FILENAME_VAR_NAME == ", FILENAME_VAR_NAME); + } +#endif + +#ifndef FILENAME_VAR_EXT + Failed("the FIND_FILE or GET_FILENAME_COMPONENT command is broken, " + "FILENAME_VAR_EXT is not defined."); +#else + if(strcmp(FILENAME_VAR_EXT, ".txt") != 0) + { + Failed("the FIND_FILE or GET_FILENAME_COMPONENT command is broken, " + "FILENAME_VAR_EXT == ", FILENAME_VAR_EXT); + } + else + { + Passed("FILENAME_VAR_EXT == ", FILENAME_VAR_EXT); + } +#endif + +#ifndef FILENAME_VAR_NAME_WE + Failed("the FIND_FILE or GET_FILENAME_COMPONENT command is broken, " + "FILENAME_VAR_NAME_WE is not defined."); +#else + if(strcmp(FILENAME_VAR_NAME_WE, "VarTests") != 0) + { + Failed("the FIND_FILE or GET_FILENAME_COMPONENT command is broken, " + "FILENAME_VAR_NAME_WE == ", FILENAME_VAR_NAME_WE); + } + else + { + Passed("FILENAME_VAR_NAME_WE == ", FILENAME_VAR_NAME_WE); + } +#endif + +#ifndef PATH_VAR_NAME + Failed("the FIND_FILE or GET_FILENAME_COMPONENT command is broken, " + "PATH_VAR_NAME is not defined."); +#else + if(strcmp(PATH_VAR_NAME, "Complex") != 0) + { + Failed("the FIND_FILE or GET_FILENAME_COMPONENT command is broken, " + "PATH_VAR_NAME == ", PATH_VAR_NAME); + } + else + { + Passed("PATH_VAR_NAME == ", PATH_VAR_NAME); + } +#endif + + // A post-build custom-command has been attached to the lib. + // It run ${CREATE_FILE_EXE} which will create the file + // ${Complex_BINARY_DIR}/postbuild.txt. + + TestAndRemoveFile(BINARY_DIR "/postbuild.txt"); + + // A custom target has been created. + // It run ${CREATE_FILE_EXE} which will create the file + // ${Complex_BINARY_DIR}/custom_target1.txt. + + TestAndRemoveFile(BINARY_DIR "/custom_target1.txt"); std::cout << "Passed: " << passed << "\n"; if(failed) |