Skip to content

Commit

Permalink
Add more processing of PREPOSTS, more unit tests (SQUASH ME) (TriBITS T…
Browse files Browse the repository at this point in the history
…riBITSPub#73)

* Added proessing of PREPOSTS to TRIBITS_FILTER_OR_ASSERT_EXTRA_REPOS()

* Added beginning of unit tests for
  TRIBITS_GET_AND_PROCESS_EXTRA_REPOSITORIES_LISTS() which also unit tests
  TRIBITS_FILTER_OR_ASSERT_EXTRA_REPOS().  Added emtpyFile.cmake to read in as
  ExtraRepositoriesList.cmake file to avoid having to put extra repos
  definition into file.

* Did some minor reformatting.
  • Loading branch information
Roscoe A. Bartlett committed Jun 2, 2015
1 parent c5ef1b3 commit a39d70a
Show file tree
Hide file tree
Showing 5 changed files with 106 additions and 5 deletions.
2 changes: 1 addition & 1 deletion test/core/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ TRIBITS_ADD_ADVANCED_TEST( TribitsProcessExtraRepositoriesList_UnitTests
-D${PROJECT_NAME}_TRIBITS_DIR=${${PROJECT_NAME}_TRIBITS_DIR}
-P "${CMAKE_CURRENT_SOURCE_DIR}/TribitsProcessExtraRepositoriesList_UnitTests.cmake"
PASS_REGULAR_EXPRESSION_ALL
"Final UnitTests Result: num_run = 36"
"Final UnitTests Result: num_run = 54"
"Final UnitTests Result: PASSED"
)

Expand Down
79 changes: 78 additions & 1 deletion test/core/TribitsProcessExtraRepositoriesList_UnitTests.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,81 @@ FUNCTION(UNITTEST_TRIBITS_PROCESS_EXTRAREPOS_LISTS_OLD_REPOTYPE)
ENDFUNCTION()


FUNCTION(UNITTEST_TRIBITS_GET_AND_PROCESS_EXTRA_REPOSITORIES_LISTS)

MESSAGE("\n***")
MESSAGE("*** Test TRIBITS_GET_AND_PROCESS_EXTRA_REPOSITORIES_LISTS with empty ${PROJECT_NAME}_EXTRA_REPOSITORIES")
MESSAGE("***\n")

#SET(TRIBITS_PROCESS_EXTRAREPOS_LISTS_DEBUG TRUE)

SET(${PROJECT_NAME}_ENABLE_KNOWN_EXTERNAL_REPOS_TYPE Nightly)
SET(${PROJECT_NAME}_EXTRAREPOS_FILE "${CMAKE_CURRENT_LIST_DIR}/emptyFile.cmake")

TRIBITS_PROJECT_DEFINE_EXTRA_REPOSITORIES(
repo0_name "" GIT "git@url0.com:repo0" "" Continuous
repo1_name "some/sub/dir" SVN "git@url1.com:repo1" NOPACKAGES Nightly
)

TRIBITS_GET_AND_PROCESS_EXTRA_REPOSITORIES_LISTS()

UNITTEST_COMPARE_CONST( ${PROJECT_NAME}_ALL_EXTRA_REPOSITORIES_DEFAULT
"repo0_name;repo1_name")
UNITTEST_COMPARE_CONST( ${PROJECT_NAME}_ALL_EXTRA_REPOSITORIES_DIRS
"repo0_name;some/sub/dir")
UNITTEST_COMPARE_CONST( ${PROJECT_NAME}_ALL_EXTRA_REPOSITORIES_VCTYPES
"GIT;SVN")
UNITTEST_COMPARE_CONST( ${PROJECT_NAME}_ALL_EXTRA_REPOSITORIES_REPOURLS
"git@url0.com:repo0;git@url1.com:repo1")
UNITTEST_COMPARE_CONST( ${PROJECT_NAME}_ALL_EXTRA_REPOSITORIES_HASPKGS
"HASPACKAGES;NOPACKAGES")
UNITTEST_COMPARE_CONST( ${PROJECT_NAME}_ALL_EXTRA_REPOSITORIES_PREPOSTS
"POST;POST")
UNITTEST_COMPARE_CONST( ${PROJECT_NAME}_ALL_EXTRA_REPOSITORIES_CATEGORIES
"Continuous;Nightly")
UNITTEST_COMPARE_CONST( ${PROJECT_NAME}_PRE_REPOSITORIES_DEFAULT
"")
UNITTEST_COMPARE_CONST( ${PROJECT_NAME}_EXTRA_REPOSITORIES_DEFAULT
"repo0_name;repo1_name")

MESSAGE("\n***")
MESSAGE("*** Test TRIBITS_GET_AND_PROCESS_EXTRA_REPOSITORIES_LISTS with non-empty ${PROJECT_NAME}_EXTRA_REPOSITORIES")
MESSAGE("***\n")

#SET(TRIBITS_PROCESS_EXTRAREPOS_LISTS_DEBUG TRUE)

SET(${PROJECT_NAME}_ENABLE_KNOWN_EXTERNAL_REPOS_TYPE Nightly)
SET(${PROJECT_NAME}_EXTRAREPOS_FILE "${CMAKE_CURRENT_LIST_DIR}/emptyFile.cmake")
SET(${PROJECT_NAME}_EXTRA_REPOSITORIES repo0_name)

TRIBITS_PROJECT_DEFINE_EXTRA_REPOSITORIES(
repo0_name "" GIT "git@url0.com:repo0" "" Continuous
repo1_name "some/sub/dir" SVN "git@url1.com:repo1" NOPACKAGES Nightly
)

TRIBITS_GET_AND_PROCESS_EXTRA_REPOSITORIES_LISTS()

UNITTEST_COMPARE_CONST( ${PROJECT_NAME}_PRE_REPOSITORIES_DEFAULT
"")
UNITTEST_COMPARE_CONST( ${PROJECT_NAME}_EXTRA_REPOSITORIES_DEFAULT
"repo0_name;repo1_name")
UNITTEST_COMPARE_CONST( ${PROJECT_NAME}_ALL_EXTRA_REPOSITORIES_DEFAULT
"repo0_name;repo1_name")
UNITTEST_COMPARE_CONST( ${PROJECT_NAME}_ALL_EXTRA_REPOSITORIES_DIRS
"repo0_name")
UNITTEST_COMPARE_CONST( ${PROJECT_NAME}_ALL_EXTRA_REPOSITORIES_VCTYPES
"GIT")
UNITTEST_COMPARE_CONST( ${PROJECT_NAME}_ALL_EXTRA_REPOSITORIES_REPOURLS
"git@url0.com:repo0")
UNITTEST_COMPARE_CONST( ${PROJECT_NAME}_ALL_EXTRA_REPOSITORIES_HASPKGS
"HASPACKAGES")
UNITTEST_COMPARE_CONST( ${PROJECT_NAME}_ALL_EXTRA_REPOSITORIES_PREPOSTS
"POST")
UNITTEST_COMPARE_CONST( ${PROJECT_NAME}_ALL_EXTRA_REPOSITORIES_CATEGORIES
"Continuous")

ENDFUNCTION()


#####################################################################
#
Expand All @@ -226,5 +301,7 @@ SET(PROJECT_SOURCE_DIR "/home/me/DummyProject")
UNITTEST_TRIBITS_PROCESS_EXTRAREPOS_LISTS()
UNITTEST_TRIBITS_PROCESS_EXTRAREPOS_LISTS_OLD_REPOTYPE()

UNITTEST_TRIBITS_GET_AND_PROCESS_EXTRA_REPOSITORIES_LISTS()

# Pass in the number of expected tests that must pass!
UNITTEST_FINAL_RESULT(36)
UNITTEST_FINAL_RESULT(54)
1 change: 1 addition & 0 deletions test/core/emptyFile.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

1 change: 1 addition & 0 deletions tribits/core/package_arch/TribitsGlobalMacros.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -600,6 +600,7 @@ MACRO(TRIBITS_DEFINE_GLOBAL_OPTIONS_AND_DEFINE_EXTRA_REPOS)
IF ("${${PROJECT_NAME}_CHECK_EXTRAREPOS_EXIST}" STREQUAL "")
SET(${PROJECT_NAME}_CHECK_EXTRAREPOS_EXIST TRUE)
ENDIF()

TRIBITS_GET_AND_PROCESS_EXTRA_REPOSITORIES_LISTS()

ADVANCED_SET(${PROJECT_NAME}_INSTALLATION_DIR
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,8 @@ ENDFUNCTION()
# Macro that processes the list varaible contents in
# ${PROJECT_NAME}_EXTRAREPOS_DIR_VCTYPE_REPOURL_PACKSTAT_CATEGORY into sperate arrays:
#
# ${PROJECT_NAME}_PRE_REPOSITORIES_DEFAULT
# ${PROJECT_NAME}_EXTRA_REPOSITORIES_DEFAULT
# ${PROJECT_NAME}_ALL_EXTRA_REPOSITORIES_DEFAULT
# ${PROJECT_NAME}_ALL_EXTRA_REPOSITORIES_DIRS
# ${PROJECT_NAME}_ALL_EXTRA_REPOSITORIES_VCTYPES
Expand Down Expand Up @@ -459,6 +461,7 @@ ENDFUNCTION()
# ${PROJECT_NAME}_ALL_EXTRA_REPOSITORIES_VCTYPES
# ${PROJECT_NAME}_ALL_EXTRA_REPOSITORIES_REPOURLS
# ${PROJECT_NAME}_ALL_EXTRA_REPOSITORIES_HASPKGS
# ${PROJECT_NAME}_ALL_EXTRA_REPOSITORIES_PREPOSTS
# ${PROJECT_NAME}_ALL_EXTRA_REPOSITORIES_CATEGORIES
#
# which contain the extra repos read from the extra repos file.
Expand Down Expand Up @@ -498,6 +501,7 @@ MACRO(TRIBITS_FILTER_OR_ASSERT_EXTRA_REPOS)
SET(ALL_EXTRA_REPOSITORIES_VCTYPES_TMP)
SET(ALL_EXTRA_REPOSITORIES_REPOURLS_TMP)
SET(ALL_EXTRA_REPOSITORIES_HASPKGS_TMP)
SET(ALL_EXTRA_REPOSITORIES_PREPOSTS_TMP)
SET(ALL_EXTRA_REPOSITORIES_CATEGORIES_TMP)

# Set-up for filtering based on ALL_EXTRA_REPOSITORIES_IN != ""
Expand All @@ -524,6 +528,8 @@ MACRO(TRIBITS_FILTER_OR_ASSERT_EXTRA_REPOS)
EXTRAREPO_REPOURL )
LIST(GET ${PROJECT_NAME}_ALL_EXTRA_REPOSITORIES_HASPKGS ${EXTRAREPO_IDX}
EXTRAREPO_HASPKGS )
LIST(GET ${PROJECT_NAME}_ALL_EXTRA_REPOSITORIES_PREPOSTS ${EXTRAREPO_IDX}
EXTRAREPO_PREPOST )
LIST(GET ${PROJECT_NAME}_ALL_EXTRA_REPOSITORIES_CATEGORIES ${EXTRAREPO_IDX}
EXTRAREPO_CATEGORY )

Expand Down Expand Up @@ -596,6 +602,7 @@ MACRO(TRIBITS_FILTER_OR_ASSERT_EXTRA_REPOS)
LIST(APPEND ALL_EXTRA_REPOSITORIES_VCTYPES_TMP ${EXTRAREPO_VCTYPE})
LIST(APPEND ALL_EXTRA_REPOSITORIES_REPOURLS_TMP ${EXTRAREPO_REPOURL})
LIST(APPEND ALL_EXTRA_REPOSITORIES_HASPKGS_TMP ${EXTRAREPO_HASPKGS})
LIST(APPEND ALL_EXTRA_REPOSITORIES_PREPOSTS_TMP ${EXTRAREPO_PREPOST})
LIST(APPEND ALL_EXTRA_REPOSITORIES_CATEGORIES_TMP ${EXTRAREPO_CATEGORY})
ENDIF()

Expand All @@ -614,6 +621,8 @@ MACRO(TRIBITS_FILTER_OR_ASSERT_EXTRA_REPOS)
${ALL_EXTRA_REPOSITORIES_REPOURLS_TMP})
SET(${PROJECT_NAME}_ALL_EXTRA_REPOSITORIES_HASPKGS
${ALL_EXTRA_REPOSITORIES_HASPKGS_TMP})
SET(${PROJECT_NAME}_ALL_EXTRA_REPOSITORIES_PREPOSTS
${ALL_EXTRA_REPOSITORIES_PREPOSTS_TMP})
SET(${PROJECT_NAME}_ALL_EXTRA_REPOSITORIES_CATEGORIES
${ALL_EXTRA_REPOSITORIES_CATEGORIES_TMP})
# ToDo: TriBITS:73: Set ${PROJECT_NAME}_PRE_REPOSITORIES along with
Expand All @@ -633,11 +642,23 @@ ENDMACRO()
#
# ${PROJECT_NAME}_EXTRAREPOS_FILE
# ${PROJECT_NAME}_IGNORE_MISSING_EXTRA_REPOSITORIES
# ${PROJECT_NAME}_PRE_REPOSITORIES
# ${PROJECT_NAME}_EXTRA_REPOSITORIES
# ${PROJECT_NAME}_ALL_EXTRA_REPOSITORIES_DEFAULT
# ${PROJECT_NAME}_ALL_EXTRA_REPOSITORIES_DIRS
# ${PROJECT_NAME}_ALL_EXTRA_REPOSITORIES_VCTYPES
# ${PROJECT_NAME}_ALL_EXTRA_REPOSITORIES_REPOURLS
# ${PROJECT_NAME}_ALL_EXTRA_REPOSITORIES_HASPKGS
# ${PROJECT_NAME}_ALL_EXTRA_REPOSITORIES_CATEGORIES
#
# On output, the following varaibles are set:
#
# ???
# ${PROJECT_NAME}_ALL_EXTRA_REPOSITORIES
# ${PROJECT_NAME}_ALL_EXTRA_REPOSITORIES_DIRS
# ${PROJECT_NAME}_ALL_EXTRA_REPOSITORIES_VCTYPES
# ${PROJECT_NAME}_ALL_EXTRA_REPOSITORIES_REPOURLS
# ${PROJECT_NAME}_ALL_EXTRA_REPOSITORIES_HASPKGS
# ${PROJECT_NAME}_ALL_EXTRA_REPOSITORIES_CATEGORIES
#
MACRO(TRIBITS_GET_AND_PROCESS_EXTRA_REPOSITORIES_LISTS)

Expand Down Expand Up @@ -669,13 +690,14 @@ MACRO(TRIBITS_GET_AND_PROCESS_EXTRA_REPOSITORIES_LISTS)
# C) Filter out the missing extra repos or assert errors
#

IF (NOT UNITTEST_SKIP_FILTER_OR_ASSERT_EXTRA_REPOS)
IF (NOT UNITTEST_SKIP_FILTER_OR_ASSERT_EXTRA_REPOS)
MESSAGE("")
MESSAGE("Filtering and asserting existance (or ignore missing) extra repos ...")
MESSAGE("")
TRIBITS_FILTER_OR_ASSERT_EXTRA_REPOS()
ELSE()
SET(${PROJECT_NAME}_EXTRA_REPOSITORIES ${${PROJECT_NAME}_EXTRA_REPOSITORIES_DEFAULT})
SET(${PROJECT_NAME}_EXTRA_REPOSITORIES
${${PROJECT_NAME}_EXTRA_REPOSITORIES_DEFAULT})
ENDIF()

ENDIF()
Expand Down

0 comments on commit a39d70a

Please sign in to comment.