complex: Move GeneratedFileStream test to CMakeLibTests

This test belongs in the CMakeLibTests test driver executable which
correctly links to CMakeLib.  Fix incorrect library link order in the
Complex tests exposed by this change.
This commit is contained in:
Brad King 2011-12-23 15:08:47 -05:00
parent 137e5974bc
commit 76ac88b730
6 changed files with 103 additions and 176 deletions

View File

@ -5,6 +5,7 @@ include_directories(
)
set(CMakeLib_TESTS
testGeneratedFileStream
testUTF8
testXMLParser
testXMLSafe

View File

@ -0,0 +1,100 @@
/*============================================================================
CMake - Cross Platform Makefile Generator
Copyright 2000-2011 Kitware, Inc., Insight Software Consortium
Distributed under the OSI-approved BSD License (the "License");
see accompanying file Copyright.txt for details.
This software is distributed WITHOUT ANY WARRANTY; without even the
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the License for more information.
============================================================================*/
#include "cmGeneratedFileStream.h"
#include "cmSystemTools.h"
#define cmFailed(m1, m2) \
std::cout << "FAILED: " << m1 << m2 << "\n"; failed=1
int testGeneratedFileStream(int, char*[])
{
int failed = 0;
cmGeneratedFileStream gm;
std::string file1 = "generatedFile1";
std::string file2 = "generatedFile2";
std::string file3 = "generatedFile3";
std::string file4 = "generatedFile4";
std::string file1tmp = file1 + ".tmp";
std::string file2tmp = file2 + ".tmp";
std::string file3tmp = file3 + ".tmp";
std::string file4tmp = file4 + ".tmp";
gm.Open(file1.c_str());
gm << "This is generated file 1";
gm.Close();
gm.Open(file2.c_str());
gm << "This is generated file 2";
gm.Close();
gm.Open(file3.c_str());
gm << "This is generated file 3";
gm.Close();
gm.Open(file4.c_str());
gm << "This is generated file 4";
gm.Close();
if ( cmSystemTools::FileExists(file1.c_str()) )
{
if ( cmSystemTools::FileExists(file2.c_str()) )
{
if ( cmSystemTools::FileExists(file3.c_str()) )
{
if ( cmSystemTools::FileExists(file4.c_str()) )
{
if ( cmSystemTools::FileExists(file1tmp.c_str()) )
{
cmFailed("Something wrong with cmGeneratedFileStream. Temporary file is still here: ", file1tmp.c_str());
}
else if ( cmSystemTools::FileExists(file2tmp.c_str()) )
{
cmFailed("Something wrong with cmGeneratedFileStream. Temporary file is still here: ", file2tmp.c_str());
}
else if ( cmSystemTools::FileExists(file3tmp.c_str()) )
{
cmFailed("Something wrong with cmGeneratedFileStream. Temporary file is still here: ", file3tmp.c_str());
}
else if ( cmSystemTools::FileExists(file4tmp.c_str()) )
{
cmFailed("Something wrong with cmGeneratedFileStream. Temporary file is still here: ", file4tmp.c_str());
}
else
{
std::cout << "cmGeneratedFileStream works\n";
}
}
else
{
cmFailed("Something wrong with cmGeneratedFileStream. Cannot find file: ", file4.c_str());
}
}
else
{
cmFailed("Something wrong with cmGeneratedFileStream. Found file: ", file3.c_str());
}
}
else
{
cmFailed("Something wrong with cmGeneratedFileStream. Cannot find file: ", file2.c_str());
}
}
else
{
cmFailed("Something wrong with cmGeneratedFileStream. Cannot find file: ", file1.c_str());
}
cmSystemTools::RemoveFile(file1.c_str());
cmSystemTools::RemoveFile(file2.c_str());
cmSystemTools::RemoveFile(file3.c_str());
cmSystemTools::RemoveFile(file4.c_str());
cmSystemTools::RemoveFile(file1tmp.c_str());
cmSystemTools::RemoveFile(file2tmp.c_str());
cmSystemTools::RemoveFile(file3tmp.c_str());
cmSystemTools::RemoveFile(file4tmp.c_str());
return failed;
}

View File

@ -61,7 +61,7 @@ ADD_EXECUTABLE(complex complex testcflags.c )
ADD_EXECUTABLE(complex.file complex.file.cxx complex_nobuild.cxx
complex_nobuild.c)
IF(COMPLEX_TEST_CMAKELIB)
TARGET_LINK_LIBRARIES(complex CMakeLib cmsys cmexpat cmzlib cmlibarchive cmbzip2 cmcurl)
TARGET_LINK_LIBRARIES(complex CMakeLib cmsys cmlibarchive cmcurl cmexpat cmzlib cmbzip2)
ENDIF(COMPLEX_TEST_CMAKELIB)
IF (UNIX)

View File

@ -11,8 +11,6 @@ extern "C" {
#ifdef COMPLEX_TEST_CMAKELIB
#include "cmStandardIncludes.h"
#include "cmSystemTools.h"
#include "cmSystemTools.h"
#include "cmGeneratedFileStream.h"
#else
#include <vector>
#include <string>
@ -108,86 +106,6 @@ void TestDir(const char* filename)
}
}
// ======================================================================
void TestCMGeneratedFileSTream()
{
cmGeneratedFileStream gm;
std::string file1 = std::string(BINARY_DIR) + std::string("/generatedFile1");
std::string file2 = std::string(BINARY_DIR) + std::string("/generatedFile2");
std::string file3 = std::string(BINARY_DIR) + std::string("/generatedFile3");
std::string file4 = std::string(BINARY_DIR) + std::string("/generatedFile4");
std::string file1tmp = file1 + ".tmp";
std::string file2tmp = file2 + ".tmp";
std::string file3tmp = file3 + ".tmp";
std::string file4tmp = file4 + ".tmp";
gm.Open(file1.c_str());
gm << "This is generated file 1";
gm.Close();
gm.Open(file2.c_str());
gm << "This is generated file 2";
gm.Close();
gm.Open(file3.c_str());
gm << "This is generated file 3";
gm.Close();
gm.Open(file4.c_str());
gm << "This is generated file 4";
gm.Close();
if ( cmSystemTools::FileExists(file1.c_str()) )
{
if ( cmSystemTools::FileExists(file2.c_str()) )
{
if ( cmSystemTools::FileExists(file3.c_str()) )
{
if ( cmSystemTools::FileExists(file4.c_str()) )
{
if ( cmSystemTools::FileExists(file1tmp.c_str()) )
{
cmFailed("Something wrong with cmGeneratedFileStream. Temporary file is still here: ", file1tmp.c_str());
}
else if ( cmSystemTools::FileExists(file2tmp.c_str()) )
{
cmFailed("Something wrong with cmGeneratedFileStream. Temporary file is still here: ", file2tmp.c_str());
}
else if ( cmSystemTools::FileExists(file3tmp.c_str()) )
{
cmFailed("Something wrong with cmGeneratedFileStream. Temporary file is still here: ", file3tmp.c_str());
}
else if ( cmSystemTools::FileExists(file4tmp.c_str()) )
{
cmFailed("Something wrong with cmGeneratedFileStream. Temporary file is still here: ", file4tmp.c_str());
}
else
{
cmPassed("cmGeneratedFileStream works.");
}
}
else
{
cmFailed("Something wrong with cmGeneratedFileStream. Cannot find file: ", file4.c_str());
}
}
else
{
cmFailed("Something wrong with cmGeneratedFileStream. Found file: ", file3.c_str());
}
}
else
{
cmFailed("Something wrong with cmGeneratedFileStream. Cannot find file: ", file2.c_str());
}
}
else
{
cmFailed("Something wrong with cmGeneratedFileStream. Cannot find file: ", file1.c_str());
}
cmSystemTools::RemoveFile(file1.c_str());
cmSystemTools::RemoveFile(file2.c_str());
cmSystemTools::RemoveFile(file3.c_str());
cmSystemTools::RemoveFile(file1tmp.c_str());
cmSystemTools::RemoveFile(file2tmp.c_str());
cmSystemTools::RemoveFile(file3tmp.c_str());
}
#endif
// Here is a stupid function that tries to use std::string methods
@ -1135,11 +1053,6 @@ int main()
cmPassed("CMake SET CACHE FORCE");
#endif
#ifdef COMPLEX_TEST_CMAKELIB
// Test the generated file stream.
TestCMGeneratedFileSTream();
#endif
#ifdef COMPLEX_TEST_LINK_STATIC
if(TestLinkGetType())
{

View File

@ -61,7 +61,7 @@ ADD_EXECUTABLE(complex complex testcflags.c )
ADD_EXECUTABLE(complex.file complex.file.cxx complex_nobuild.cxx
complex_nobuild.c)
IF(COMPLEX_TEST_CMAKELIB)
TARGET_LINK_LIBRARIES(complex CMakeLib cmsys cmexpat cmzlib cmlibarchive cmbzip2 cmcurl)
TARGET_LINK_LIBRARIES(complex CMakeLib cmsys cmlibarchive cmcurl cmexpat cmzlib cmbzip2)
ENDIF(COMPLEX_TEST_CMAKELIB)
IF (UNIX)

View File

@ -11,8 +11,6 @@ extern "C" {
#ifdef COMPLEX_TEST_CMAKELIB
#include "cmStandardIncludes.h"
#include "cmSystemTools.h"
#include "cmSystemTools.h"
#include "cmGeneratedFileStream.h"
#else
#include <vector>
#include <string>
@ -108,86 +106,6 @@ void TestDir(const char* filename)
}
}
// ======================================================================
void TestCMGeneratedFileSTream()
{
cmGeneratedFileStream gm;
std::string file1 = std::string(BINARY_DIR) + std::string("/generatedFile1");
std::string file2 = std::string(BINARY_DIR) + std::string("/generatedFile2");
std::string file3 = std::string(BINARY_DIR) + std::string("/generatedFile3");
std::string file4 = std::string(BINARY_DIR) + std::string("/generatedFile4");
std::string file1tmp = file1 + ".tmp";
std::string file2tmp = file2 + ".tmp";
std::string file3tmp = file3 + ".tmp";
std::string file4tmp = file4 + ".tmp";
gm.Open(file1.c_str());
gm << "This is generated file 1";
gm.Close();
gm.Open(file2.c_str());
gm << "This is generated file 2";
gm.Close();
gm.Open(file3.c_str());
gm << "This is generated file 3";
gm.Close();
gm.Open(file4.c_str());
gm << "This is generated file 4";
gm.Close();
if ( cmSystemTools::FileExists(file1.c_str()) )
{
if ( cmSystemTools::FileExists(file2.c_str()) )
{
if ( cmSystemTools::FileExists(file3.c_str()) )
{
if ( cmSystemTools::FileExists(file4.c_str()) )
{
if ( cmSystemTools::FileExists(file1tmp.c_str()) )
{
cmFailed("Something wrong with cmGeneratedFileStream. Temporary file is still here: ", file1tmp.c_str());
}
else if ( cmSystemTools::FileExists(file2tmp.c_str()) )
{
cmFailed("Something wrong with cmGeneratedFileStream. Temporary file is still here: ", file2tmp.c_str());
}
else if ( cmSystemTools::FileExists(file3tmp.c_str()) )
{
cmFailed("Something wrong with cmGeneratedFileStream. Temporary file is still here: ", file3tmp.c_str());
}
else if ( cmSystemTools::FileExists(file4tmp.c_str()) )
{
cmFailed("Something wrong with cmGeneratedFileStream. Temporary file is still here: ", file4tmp.c_str());
}
else
{
cmPassed("cmGeneratedFileStream works.");
}
}
else
{
cmFailed("Something wrong with cmGeneratedFileStream. Cannot find file: ", file4.c_str());
}
}
else
{
cmFailed("Something wrong with cmGeneratedFileStream. Found file: ", file3.c_str());
}
}
else
{
cmFailed("Something wrong with cmGeneratedFileStream. Cannot find file: ", file2.c_str());
}
}
else
{
cmFailed("Something wrong with cmGeneratedFileStream. Cannot find file: ", file1.c_str());
}
cmSystemTools::RemoveFile(file1.c_str());
cmSystemTools::RemoveFile(file2.c_str());
cmSystemTools::RemoveFile(file3.c_str());
cmSystemTools::RemoveFile(file1tmp.c_str());
cmSystemTools::RemoveFile(file2tmp.c_str());
cmSystemTools::RemoveFile(file3tmp.c_str());
}
#endif
// Here is a stupid function that tries to use std::string methods
@ -1135,11 +1053,6 @@ int main()
cmPassed("CMake SET CACHE FORCE");
#endif
#ifdef COMPLEX_TEST_CMAKELIB
// Test the generated file stream.
TestCMGeneratedFileSTream();
#endif
#ifdef COMPLEX_TEST_LINK_STATIC
if(TestLinkGetType())
{