1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
- file Copyright.txt or https://cmake.org/licensing for details. */
- #include <cmConfigure.h> // IWYU pragma: keep
- #include <iostream>
- #include <string>
- #include <vector>
- #include "cmFindPackageCommand.h"
- #define cmPassed(m) std::cout << "Passed: " << (m) << "\n"
- #define cmFailed(m) \
- std::cout << "FAILED: " << (m) << "\n"; \
- failed = 1
- int testFindPackageCommand(int /*unused*/, char* /*unused*/ [])
- {
- int failed = 0;
- // ----------------------------------------------------------------------
- // Test cmFindPackage::Sort
- std::vector<std::string> testString;
- testString.push_back("lib-0.0");
- testString.push_back("lib-1.2");
- testString.push_back("lib-2.0");
- testString.push_back("lib-19.0.1");
- testString.push_back("lib-20.01.1");
- testString.push_back("lib-20.2.2a");
- cmFindPackageCommand::Sort(testString.begin(), testString.end(),
- cmFindPackageCommand::Natural,
- cmFindPackageCommand::Asc);
- if (!(testString[0] == "lib-0.0" && testString[1] == "lib-1.2" &&
- testString[2] == "lib-2.0" && testString[3] == "lib-19.0.1" &&
- testString[4] == "lib-20.01.1" && testString[5] == "lib-20.2.2a")) {
- cmFailed("cmSystemTools::Sort fail with Natural ASC");
- }
- cmFindPackageCommand::Sort(testString.begin(), testString.end(),
- cmFindPackageCommand::Natural,
- cmFindPackageCommand::Dec);
- if (!(testString[5] == "lib-0.0" && testString[4] == "lib-1.2" &&
- testString[3] == "lib-2.0" && testString[2] == "lib-19.0.1" &&
- testString[1] == "lib-20.01.1" && testString[0] == "lib-20.2.2a")) {
- cmFailed("cmSystemTools::Sort fail with Natural ASC");
- }
- cmFindPackageCommand::Sort(testString.begin(), testString.end(),
- cmFindPackageCommand::Name_order,
- cmFindPackageCommand::Dec);
- if (!(testString[5] == "lib-0.0" && testString[4] == "lib-1.2" &&
- testString[3] == "lib-19.0.1" && testString[2] == "lib-2.0" &&
- testString[1] == "lib-20.01.1" && testString[0] == "lib-20.2.2a")) {
- cmFailed("cmSystemTools::Sort fail with Name DEC");
- }
- cmFindPackageCommand::Sort(testString.begin(), testString.end(),
- cmFindPackageCommand::Name_order,
- cmFindPackageCommand::Asc);
- if (!(testString[0] == "lib-0.0" && testString[1] == "lib-1.2" &&
- testString[2] == "lib-19.0.1" && testString[3] == "lib-2.0" &&
- testString[4] == "lib-20.01.1" && testString[5] == "lib-20.2.2a")) {
- cmFailed("cmSystemTools::Sort fail with Natural ASC");
- }
- if (!failed) {
- cmPassed("cmSystemTools::Sort working");
- }
- return failed;
- }
|