diff options
Diffstat (limited to 'Tests/Module/GenerateExportHeader/exportheader_test.cpp')
-rw-r--r-- | Tests/Module/GenerateExportHeader/exportheader_test.cpp | 137 |
1 files changed, 0 insertions, 137 deletions
diff --git a/Tests/Module/GenerateExportHeader/exportheader_test.cpp b/Tests/Module/GenerateExportHeader/exportheader_test.cpp deleted file mode 100644 index 26bea7e..0000000 --- a/Tests/Module/GenerateExportHeader/exportheader_test.cpp +++ /dev/null @@ -1,137 +0,0 @@ - -#include "libshared.h" - -#include "libstatic.h" - -// #define BUILD_FAIL - -#ifndef BUILD_FAIL -#define DOES_NOT_BUILD(function) -#else -#define DOES_NOT_BUILD(function) function -#endif - -#include <fstream> -#include <iostream> -#include <stdlib.h> -#include <string> - -void compare(const char* refName, const char* testName) -{ - std::ifstream ref; - ref.open(refName); - if (!ref.is_open()) { - std::cout << "Could not open \"" << refName << "\"." << std::endl; - exit(1); - } - std::ifstream test; - test.open(testName); - if (!test.is_open()) { - std::cout << "Could not open \"" << testName << "\"." << std::endl; - exit(1); - } - - while (!ref.eof() && !test.eof()) { - std::string refLine; - std::string testLine; - std::getline(ref, refLine); - std::getline(test, testLine); - // Some very old Borland runtimes (C++ Builder 5 WITHOUT Update 1) add a - // trailing null to the string that we need to strip before testing for a - // trailing space. - if (refLine.size() && refLine[refLine.size() - 1] == 0) { - refLine = refLine.substr(0, refLine.size() - 1); - } - if (testLine.size() && testLine[testLine.size() - 1] == 0) { - testLine = testLine.substr(0, testLine.size() - 1); - } - // The reference files never have trailing spaces: - if (testLine.size() && testLine[testLine.size() - 1] == ' ') { - testLine = testLine.substr(0, testLine.size() - 1); - } - if (refLine != testLine) { - std::cout << "Ref and test are not the same:\n Ref: \"" << refLine - << "\"\n Test: \"" << testLine << "\"\n"; - exit(1); - } - } - if (!ref.eof() || !test.eof()) { - std::cout << "Ref and test have differing numbers of lines."; - exit(1); - } -} - -int main() -{ - { - Libshared l; - l.libshared(); - l.libshared_exported(); - l.libshared_deprecated(); - l.libshared_not_exported(); - - DOES_NOT_BUILD(l.libshared_excluded();) - } - - { - LibsharedNotExported l; - DOES_NOT_BUILD(l.libshared();) - l.libshared_exported(); - l.libshared_deprecated(); - DOES_NOT_BUILD(l.libshared_not_exported();) - DOES_NOT_BUILD(l.libshared_excluded();) - } - - { - LibsharedExcluded l; - DOES_NOT_BUILD(l.libshared();) - l.libshared_exported(); - l.libshared_deprecated(); - DOES_NOT_BUILD(l.libshared_not_exported();) - DOES_NOT_BUILD(l.libshared_excluded();) - } - - libshared_exported(); - libshared_deprecated(); - DOES_NOT_BUILD(libshared_not_exported();) - DOES_NOT_BUILD(libshared_excluded();) - - { - Libstatic l; - l.libstatic(); - l.libstatic_exported(); - l.libstatic_deprecated(); - l.libstatic_not_exported(); - l.libstatic_excluded(); - } - - { - LibstaticNotExported l; - l.libstatic(); - l.libstatic_exported(); - l.libstatic_deprecated(); - l.libstatic_not_exported(); - l.libstatic_excluded(); - } - - { - LibstaticExcluded l; - l.libstatic(); - l.libstatic_exported(); - l.libstatic_deprecated(); - l.libstatic_not_exported(); - l.libstatic_excluded(); - } - - libstatic_exported(); - libstatic_deprecated(); - libstatic_not_exported(); - libstatic_excluded(); - - compare(SRC_DIR "/libshared_export.h", - BIN_DIR "/libshared/libshared_export.h"); - compare(SRC_DIR "/libstatic_export.h", - BIN_DIR "/libstatic/libstatic_export.h"); - - return 0; -} |