TriBITSPub / TriBITS

TriBITS: Tribal Build, Integrate, and Test System,
http://tribits.org
Other
35 stars 47 forks source link

Reorganize TriBITS repo directory structure and better define parts of TriBITS for reuse #26

Closed bartlettroscoe closed 9 years ago

bartlettroscoe commented 9 years ago

This story is to define a new organization for the TriBITS repo. The goals are:

  1. Better define the different parts of tribits and their dependencies: "Core", "CI Support", "CTest Driver", etc.
  2. Allow for snapshotting and installs of only the desired parts of TriBITS.
  3. Trim down the size of the TriBITS git repo.
TriBITS/
    tribits/
        snapshot_tribits.py
        TriBITS.cmake
        core/                       # Basic package-based arch (CMake only)
            utils/
            package_arch/
            installation/
            modules/
            std_tpls/               # TPLs built into TriBITS system
                FindTPLMPI.cmake
                FindTPLCUDA.cmake
        python_utils/               # Basic python utilities (does not depend on TriBITS!)
            snapshot_dir.py
            GeneralScriptSupport.py
            gitdist
            ...
        ci_support/                 # Pre-push CI testing (Python, No CDash)
            checkin-test.py
            CheckinTest.py
            ...
        ctest_driver/               # Basic Post-push CI and Nightly testing (CDash)
            TribitsCTestDriverCore.cmake
            ...
        dashboard_driver/           # TriBITS Dashboard Driver system
            tdd_driver.py
            ...
        common_tpls/                # TPLs shared by many TriBITS repositories
            FindTPLPETSC.cmake
            FindTPLBLAS.cmake
            ...
        doc/                        # Primary TriBITS documentation sources
            developers_guide/
            build_quick_ref/
            build_docs              # Builds the documentation using docutls
        devtools_install/           # Install scripts for common tools 
            install-cmake.py
            install-gcc.py
            ...
    test/                           # Tests for TriBITS
        core/
            DependancyUnitTests/
            ProcessEnabledTpl/
            ReducedMockTrilinos/
            ...
        python_utils/
            snapshot_dir_UnitTests.py
            GeneralScriptSupport_UnitTests.py
            gitdist_UnitTests.py
        ci_support/
            CheckinTest_UnitTests.py
            ...
        ctest_driver/
        dashboard_driver/
        ...       
    dev_testing/                    # Develop on TriBITS support
       Trilinos/
       ...
    common_tools/                   # Utils not used by TriBITS itself
        git/
        python/
        cloc/
        setup/
        ...

This needs to be fleshed out more but the major directories would be:

TriBITS/tribits/: Th part of TriBITS that projects use to access TriBITS functionality. It also contains basic documentation in subidr doc/ that is very close to the code. Files and directories from here are what get installed or will be snapshotted into <projectDir>/cmake/tribits/. Project's will decide what parts of TriBITS they want to install or shapshot using a new script snapshot_tribits.py (which will take arguments for what dirs to snapshot). This directory will contain no tests at all. All of the tests for TriBITS will be in the TriBITS/test/ directory. The breakdown of the contents of this directory are provided below.

TriBITS/test/: Contains all of the automated tests for TriBITS. When doing development, these tests are critical. But when just using TriBITS functionality, these tests are not needed and therefore will not be snapshotted into <projectDir>/cmake/tribits/.

TriBITS/dev_testing/: Contains scripts that support the development of the TriBITS system itself.

TriBITS/common_tools/: Misc utilities that are not central to the TriBITS system but are very helpful to keep around.

In addition, we would break off the other documents into an independent git repo TriBITSDoc:

TriBITSDoc/
    doc/
        overview/
        lifecycle_model/
        poster/

That cuts down on the size of the main TriBITS git repo a good bit.

A breakdown of the TriBITS/tribits/ sub-directory:

TriBITS/tribits/TriBITS.cmake: The One file that needs to be included in order to use TriBITS in a CMake project. This one file insulates clients from future TriBITS refactorings.

TriBITS/tribits/core/: Core TriBITS package-based architecture for CMake projects. This only depends on raw CMake and contains just the minimal support for building, testing, installing, and deployment.

TriBITS/tribits/python_utils/: Some basic Python utilities that are not specific to TriBITS but are used in TriBITS CI and testing support software.

TriBITS/tribits/ci_support/: checkin-test.py script and its supporting Python modules.

TriBITS/tribits/ctest_driver/: Support for package-by-package testing driven by CTest submitting to CDash

TriBITS/tribits/dashboard_driver/: TriBITS Dashboard Driver system (uses CTest to drive individual project builds and submits results to a separate Driver CDash project).

TriBITS/tribits/common_tpls/: TPLs that are very common and are used by several different TriBITS projects. Having some of these common TPLs in TriBITS itself fosters uniformity, reuse, and makes it easier to pull TriBITS packages out of a repo and build them independently.

TriBITS/tribits/doc/: Basic TriBITS documentation built using docutils. The generated documents will not be stored in the git repo but instead will be built on command using the build_docs script.

TriBITS/tribits/devtools_install/: Basic install scripts for tools like CMake, GCC, OpenMPI, MPICH, Git, etc. By default, these all download tarballs from the github.com/TriBITSPub/ site and the repos are named devtools-<toolname>-<version>-base. This makes it easy to set up a new dev environment for project that uses TriBITS.

The script snapshot_tribits.py would define options to install the different pieces for TriBITS/tribits/ into a project's <projectDir>/cmake/tribits directory. It would support the argument --components with values core, python_utils, ci_support, ctest_driver, dashboard_driver, common_tpls, doc, and devtools_install. The snapshot components would have the dependencies:

ToDo: List out the tasks to get this done.

bartlettroscoe commented 9 years ago

@nschloe, @jwillenbring, you should be made aware of this plan. My hope is to do this in the next month or so, before the TUG and before I complete the first draft of the TriBITS Overview document.

bartlettroscoe commented 9 years ago

When I make this change I will filter the repo at the same time. Basically I want to get rid of the

Files/directories to be filtered out:

The first three are being moved to the TriBITSDoc repo. The others will be removing generated documents

12/3/2014:I gutted the doc/environment/ directory in the TriBITSDoc/ repo and removed it all together in the TriBITS/ repo.

bartlettroscoe commented 9 years ago

I am splitting off TriBITSDoc right now. I will filter the repo before I reorganize it.

bartlettroscoe commented 9 years ago

I have gotten TriBITS documentation posted on tribits.org (hosted on the trilinos.org machine). The TriBITS documentation is now being generated and is not being stored any longer. I will filter out the generated .html and .pdf files later. I updated the TriBITS/README.rst file to point to tribits.org. See details below.


Detailed Notes:

0) Create new directory TriBITSDoc/website/ to put the index.html (copied from TriBITS/doc/index.html) and other driver scripts into. [Done]

1) Create a basic TriBITS index.html file given a template off the web. I push this under TriBITSDoc/website/ [Done]

2) Create a new TriBITS/doc/publish_docs.sh script that will publish the generated documents to an arbitrary directory. [Done]

3) Create a script publish_web_docs.sh that will build the documents, then publish them to /var/www/html/tribits/doc/.

4) Create a cron job on trilinos.org that will update it repos then publish_web_docs.sh.

I had to install docutils on trilinos.org using:

$ sudo yum install python-docutils.noarch

Then I created the cron job:

# ----------------- minute (0 - 59)
# |  -------------- hour (0 - 23)
# |  |  ----------- day of month (1 - 31)
# |  |  |  -------- month (1 - 12)
# |  |  |  |  ----- day of week (0 - 7) (Sunday=0 or 7)
# |  |  |  |  |
# *  *  *  *  *  command to be executed
  0,20,40  *  *  *  *  cd /home/bartlettra/TriBITS \
  && ./common_tools/git/gitdist --dist-no-color pull \
    &> ../tribits.pull.log \
  && cd TriBITSDoc/website \
  && ./publish_web_docs.sh /var/www/html/tribits \
    &> ../../../tribits.publish.log

This will update the website on tribits.org every 20 minutes.

5) Update docs and links:

bartlettroscoe commented 9 years ago

Now to purge the TriBITS repo of the larger files that I just removed. The files that I need to purge are:

Hopefully I can do this with bfg?

Before filtering the repo:

$ cd TriBITS/
$ git clean -fdx

$ du -sh `ls -a | grep  -v '\.\.'` | sort -rh 

127M    .
87M     .git
35M     TriBITSDoc
1.9M    package_arch
1.6M    doc
836K    python
836K    common_tools
268K    ctest
216K    utils
64K     config_tests
60K     checkin-test.py
44K     installation
20K     tpls
16K     dev_testing
12K     refactoring
...

I then created a copy to compare with:

$ cp -r TriBITS TriBITS.saved

After running bfg several times to remove directories and files:

$ cd TriBITS/
$ bfg --delete-folders environment
$ bfg --delete-folders poster
$ bfg --delete-folders lifecycle_model
$ bfg --delete-folders overview
$ bfg --delete-files \
   '{TribitsDevelopersGuide.html,TribitsDevelopersGuide.pdf,TribitsBuildQuickRef.html,TribitsBuildQuickRef.pdf}'

I pruned the repo with:

$ time git gc --prune=now --aggressive

Counting objects: 12172, done.
Delta compression using up to 32 threads.
Compressing objects: 100% (11579/11579), done.
Writing objects: 100% (12172/12172), done.
Total 12172 (delta 9283), reused 1572 (delta 0)

real    1m32.428s
user    1m54.218s
sys 0m2.207s

Now we see the size:

83M     .
43M     .git
35M     TriBITSDoc
1.9M    package_arch
1.6M    doc
836K    python
836K    common_tools
268K    ctest
216K    utils
64K     config_tests
60K     checkin-test.py
44K     installation
20K     tpls
16K     dev_testing
12K     refactoring
...

That reduced the .git/ repo size from 87M to 43M. Now to check that the working directory is intact (which it should be because bfg by default will not delete files still being tracked):

$ diff -qr --exclude=.git TriBITS TriBITS.saved
[empty]

Now to look through the history and make sure that none of the old files are existing still. ... Looking through the history, this looks good.

Now to get on with the refactoring work. To drive this, I am going to push to a branch in my private github TriBITS repo:

$ git checkout -b tribits_reorg_26
Switched to a new branch 'tribits_reorg_26'

$ git push -u rab-github tribits_reorg_26
Counting objects: 4548, done.
Delta compression using up to 32 threads.
Compressing objects: 100% (1546/1546), done.
Writing objects: 100% (4548/4548), 773.36 KiB | 0 bytes/s, done.
Total 4548 (delta 3387), reused 3574 (delta 2769)
To git@github.com:bartlettroscoe/TriBITS
 * [new branch]      tribits_reorg_26 -> tribits_reorg_26
Branch tribits_reorg_26 set up to track remote branch tribits_reorg_26 from rab-github.

Now that my work will be backed up, I will work to restructure the directories according to the plan. Hopefully this will not take too long (but I suspect a few days work total).

bartlettroscoe commented 9 years ago

I have moved everything around mostly according to the plan, with a few small exceptions. I just (forced) pushed the new branch to github/master. I also updated the cron job that updates the documentation on trilinos.org. See below for details.

I still need to update documentation about the directory structure in the repo. Then I need to update the Developer's guide and the current status of the Overview document.


Detailed Notes:

Before I start restructuring, I want to make sure that I restore all of the tests. Before changing anything, we have the MPI_DEBUG and SERIAL_DEBUG tests:

MPI_DEBUG

  1/176 Test #170: TriBITS_TribitsExampleProject_ALL_NoFortran_WrapExternal_VerboseConfigure .........................................   Passed    5.02 sec
  2/176 Test #162: TriBITS_TribitsExampleProject_ALL_PT_NoFortran_ConfigTiming .......................................................   Passed    6.41 sec
  3/176 Test #163: TriBITS_TribitsExampleProject_ALL_PT_NoFortran ....................................................................   Passed    6.41 sec
  4/176 Test #159: TriBITS_TribitsHelloWorld .........................................................................................   Passed    7.72 sec
  5/176 Test #160: TriBITS_TribitsHelloWorld_ScaleTimeout ............................................................................   Passed    8.62 sec
  6/176 Test #161: TriBITS_TribitsExampleProject_ALL_ST_NoFortran ....................................................................   Passed    9.03 sec
  7/176 Test #168: TriBITS_TribitsExampleProject_SimpleCxx_DEBUG_int64 ...............................................................   Passed    9.04 sec
  8/176 Test #171: TriBITS_TribitsExampleProject_ALL_WrapExternal_VerboseConfigure ...................................................   Passed   10.36 sec
  9/176 Test #172: TriBITS_TribitsExampleProject_ALL_NoFortran_OverridePackageSourceDir ..............................................   Passed   10.36 sec
 10/176 Test #148: TriBITS_CTestDriver_CI_Nightly_EnableOnlyModified_ModifiedTeuchos .................................................   Passed    4.34 sec
 11/176 Test #144: TriBITS_CTestDriver_CI_EnableAllSecondaryTested_EnableStalix ......................................................   Passed    2.97 sec
 12/176 Test #175: TriBITS_TribitsExampleProject_ExternalPkg .........................................................................   Passed   11.30 sec
 13/176 Test #152: TriBITS_CTestDriver_CI_EnableOnlyModified_ModifiedTeuchosTeko .....................................................   Passed    3.58 sec
 14/176 Test #154: TriBITS_CTestDriver_CI_EnableOnlyModified_ModifiedTeko_FailedThyraRBGen ...........................................   Passed    3.99 sec
 15/176 Test #155: TriBITS_CTestDriver_CI_EnableOnlyModified_ModifiedNone_FailedThyraRBGen ...........................................   Passed    3.07 sec
 16/176 Test #145: TriBITS_CTestDriver_Nightly_EnableAllSecondaryTested ..............................................................   Passed    3.57 sec
 17/176 Test #149: TriBITS_CTestDriver_CI_EnableOnlyModified_ModifiedThyra_NoEnableImplictlyEnabled ..................................   Passed    3.87 sec
 18/176 Test #143: TriBITS_CTestDriver_CI_EnableAllSecondaryTested ...................................................................   Passed    4.07 sec
 19/176 Test #173: TriBITS_TribitsExampleProject_HeaderOnlyTpl_Fail ..................................................................   Passed    2.82 sec
 20/176 Test #151: TriBITS_CTestDriver_CI_EnableOnlyModified_ModifiedTeko ............................................................   Passed    2.83 sec
 21/176 Test #150: TriBITS_CTestDriver_CI_EnableOnlyModified_ModifiedThyraCoreLibs_NoEnableImplictlyEnabled ..........................   Passed    2.96 sec
 22/176 Test #147: TriBITS_CTestDriver_CI_EnableOnlyModified_ModifiedTeuchos .........................................................   Passed    4.30 sec
 23/176 Test #130: TriBITS_CTestDriver_EnableAllDefault ..............................................................................   Passed    2.65 sec
 24/176 Test #132: TriBITS_CTestDriver_EnableAllSecondaryStable ......................................................................   Passed    2.66 sec
 25/176 Test #140: TriBITS_CTestDriver_EnableAll_EnablePhalanx .......................................................................   Passed    2.96 sec
 26/176 Test #165: TriBITS_TribitsExampleProject_ALL_ST_LibPrefix ....................................................................   Passed   16.40 sec
 27/176 Test #164: TriBITS_TribitsExampleProject_ALL_ST ..............................................................................   Passed   16.40 sec
 28/176 Test #174: TriBITS_TribitsExampleProject_HeaderOnlyTpl_HardEnable_Fail .......................................................   Passed    3.57 sec
 29/176 Test   #5: TriBITS_gitdist_UnitTests .........................................................................................   Passed    4.79 sec
 30/176 Test #146: TriBITS_CTestDriver_CI_EnableOnlyModified_ModifiedNone ............................................................   Passed    2.43 sec
 31/176 Test #141: TriBITS_CTestDriver_EnableAll_EnableStokhos .......................................................................   Passed    2.57 sec
 32/176 Test #153: TriBITS_CTestDriver_CI_EnableOnlyModified_ModifiedStokhosStalix_FailedNone ........................................   Passed    2.56 sec
 33/176 Test #156: TriBITS_CTestDriver_CI_EnableOnlyModified_ModifiedNone_FailedStokhosStalix ........................................   Passed    2.67 sec
 34/176 Test #142: TriBITS_CTestDriver_EnableAllSecondaryTested_EnableStokhos ........................................................   Passed    3.27 sec
 35/176 Test #138: TriBITS_CTestDriver_EnableEpetraThyra_NoProcessImplicitlyEnabled ..................................................   Passed    2.25 sec
 36/176 Test  #13: TriBITS_XmlHtmlCDashOutputTest ....................................................................................   Passed    2.26 sec
 37/176 Test #134: TriBITS_CTestDriver_EnableRTOp_DisableTeuchos .....................................................................   Passed    2.25 sec
 38/176 Test #131: TriBITS_CTestDriver_EnableAllSecondaryTested ......................................................................   Passed    3.38 sec
 39/176 Test #108: TriBITS_DepTests_NativeRepositoriesList1_EnableAllPackages_ST .....................................................   Passed    2.67 sec
 40/176 Test #135: TriBITS_CTestDriver_EnableTeuchosRTOp_DisableRTOp .................................................................   Passed    2.77 sec
 41/176 Test #137: TriBITS_CTestDriver_EnableThyra ...................................................................................   Passed    2.88 sec
 42/176 Test #139: TriBITS_CTestDriver_EnableThyra_ExcludeEpetra .....................................................................   Passed    2.12 sec
 43/176 Test #109: TriBITS_DepTests_extraTrilinosRepo_EnableExtraPack ................................................................   Passed    2.07 sec
 44/176 Test #169: TriBITS_TribitsExampleProject_WrapExternal ........................................................................   Passed   21.15 sec
 45/176 Test #136: TriBITS_CTestDriver_EnableTeuchos_DisableTPLBLAS ..................................................................   Passed    2.28 sec
 46/176 Test #133: TriBITS_CTestDriver_EnableTeuchos .................................................................................   Passed    2.28 sec
 47/176 Test #113: TriBITS_DepTests_ENABLE_KNOWN_EXTERNAL_REPOS_TYPE_Nightly_EnableExtraPack .........................................   Passed    2.28 sec
 48/176 Test  #17: TriBITS_TribitsAdjustPackageEnables_UnitTests .....................................................................   Passed    2.28 sec
 49/176 Test #157: TriBITS_CTestDriver_Override_MPI_EXEC_MAX_NUMPROCSS ...............................................................   Passed    2.41 sec
 50/176 Test #101: TriBITS_DepTests_DefaultExtraReposFile_EnableAllPackages_TraceFileProcessing ......................................   Passed    2.40 sec
 51/176 Test #110: TriBITS_DepTests_extraTrilinosRepo_EnableExtraPack_EnableExtraTPL1 ................................................   Passed    2.60 sec
 52/176 Test  #83: TriBITS_DepTests_EnableAllPackages_DefaultTPLs ....................................................................   Passed    1.83 sec
 53/176 Test  #99: TriBITS_DepTests_preCopyrightTrilinos_EnableTeko ..................................................................   Passed    2.64 sec
 54/176 Test  #95: TriBITS_DepTests_EnableAllPackages_EnableSecondaryTestedCode_EnableSecondaryStableCode_EnableAllOptionalPackges ...   Passed    2.64 sec
 55/176 Test #100: TriBITS_DepTests_preCopyrightTrilinos_EnableTeko_InconsistentExtraReposFile .......................................   Passed    2.84 sec
 56/176 Test  #94: TriBITS_DepTests_EnableAllPackages_EnableSecondaryStableCode_EnableAllOptionalPackges_BackwardCompatible ..........   Passed    1.93 sec
 57/176 Test #167: TriBITS_TribitsExampleProject_ALL_ST_LibUsage_LibPrefix ...........................................................   Passed   23.19 sec
 58/176 Test  #84: TriBITS_DepTests_EnableAllPackages_EnableBoost ....................................................................   Passed    1.93 sec
 59/176 Test #112: TriBITS_DepTests_ENABLE_KNOWN_EXTERNAL_REPOS_TYPE_CI_EnableTeko ...................................................   Passed    1.92 sec
 60/176 Test  #62: TriBITS_DepTests_EnableAllPackages_EnableTests ....................................................................   Passed    1.92 sec
 61/176 Test  #82: TriBITS_DepTests_EnableEpetra_DisableThyraCoreLibs_EnableAllForwardPackages .......................................   Passed    1.92 sec
 62/176 Test  #68: TriBITS_DepTests_EnableEpetraExt_EnableAllForwardPackages .........................................................   Passed    1.94 sec
 63/176 Test #166: TriBITS_TribitsExampleProject_ALL_ST_LibUsage .....................................................................   Passed   24.32 sec
 64/176 Test  #93: TriBITS_DepTests_EnableAllPackages_EnableSecondaryTestedCode_EnableAllOptionalPackges .............................   Passed    2.24 sec
 65/176 Test  #74: TriBITS_DepTests_EnableThyra_EnableAllForwardPackages .............................................................   Passed    2.24 sec
 66/176 Test  #67: TriBITS_DepTests_EnableTeuchos_EnableAllForwardPackages ...........................................................   Passed    2.24 sec
 67/176 Test #111: TriBITS_DepTests_extraTrilinosRepo_ReplacePackagesList ............................................................   Passed    1.61 sec
 68/176 Test  #71: TriBITS_DepTests_EnableEpetraExt_DisableAztecOO_EnableAllForwardPackages ..........................................   Passed    1.70 sec
 69/176 Test  #85: TriBITS_DepTests_EnableAllPackages_EnableBoostParMETIS ............................................................   Passed    2.41 sec
 70/176 Test  #61: TriBITS_DepTests_EnableAllPackages ................................................................................   Passed    1.69 sec
 71/176 Test  #65: TriBITS_DepTests_EnableEpetra_DisableTeuchos_EnableAllForwardPackages .............................................   Passed    1.69 sec
 72/176 Test   #3: TriBITS_CheckinTest_UnitTests .....................................................................................   Passed   24.90 sec
 73/176 Test  #72: TriBITS_DepTests_EnableAmesos_DisableZoltan_EnableAllForwardPackages ..............................................   Passed    1.69 sec
 74/176 Test  #49: TriBITS_DepXmlDumpTests_WithPreCopyrightTrilinosExtraTrilinosRepo .................................................   Passed    1.69 sec
 75/176 Test #102: TriBITS_DepTests_preCopyrightTrilinos_EnableStalix ................................................................   Passed    1.70 sec
 76/176 Test  #97: TriBITS_DepTests_EnableStratimikos_EnableAllOptionalPackages_BadSystem2 ...........................................   Passed    1.70 sec
 77/176 Test #158: TriBITS_RawHelloWorld .............................................................................................   Passed    1.69 sec
 78/176 Test  #76: TriBITS_DepTests_EnableThyraEpetraExt .............................................................................   Passed    1.51 sec
 79/176 Test  #75: TriBITS_DepTests_EnableThyra_DisableThyraEpetraExt ................................................................   Passed    1.81 sec
 80/176 Test  #78: TriBITS_DepTests_EnableThyra_DisableThyraEpetra_EnableThyraEpetraExt_DisableEnabledDownstreamPackages .............   Passed    1.53 sec
 81/176 Test  #64: TriBITS_DepTests_TestTrueFalse ....................................................................................   Passed    1.52 sec
 82/176 Test  #79: TriBITS_DepTests_EnableThyra_DisableEpetra_EnableThyraEpetraExt_DisableEnabledDownstreamPackages ..................   Passed    1.52 sec
 83/176 Test  #63: TriBITS_DepTests_DisableEpetra_EnableAllPackages ..................................................................   Passed    1.81 sec
 84/176 Test  #89: TriBITS_DepTests_EnablePanzer_EnableMPI ...........................................................................   Passed    1.52 sec
 85/176 Test  #66: TriBITS_DepTests_DisableEpetra_DisableTeuchos_EnableAllPackages ...................................................   Passed    1.53 sec
 86/176 Test  #50: TriBITS_DepXmlDumpTests_WithExtraRepoOnePackage ...................................................................   Passed    1.51 sec
 87/176 Test  #96: TriBITS_DepTests_EnableStratimikos_EnableAllOptionalPackages_BadSystem1 ...........................................   Passed    1.51 sec
 88/176 Test  #92: TriBITS_DepTests_EnableTpetra_EnableAllForwardPackages ............................................................   Passed    1.52 sec
 89/176 Test  #70: TriBITS_DepTests_EnableEpetraExt_EnableAllOptionalPackages ........................................................   Passed    1.51 sec
 90/176 Test  #91: TriBITS_DepTests_EnablePanzer_DisableMPI_DisableEnabledDownstreamPackages .........................................   Passed    1.51 sec
 91/176 Test  #73: TriBITS_DepTests_EnableThyraCoreLibs_EnableTests ..................................................................   Passed    1.53 sec
 92/176 Test  #98: TriBITS_DepTests_EnableStratimikos_EnableIfpack_EnableAllOptionalPackages_BadSystem2 ..............................   Passed    1.73 sec
 93/176 Test  #14: TriBITS_TestingFunctionMacro_UnitTests ............................................................................   Passed    2.75 sec
 94/176 Test  #69: TriBITS_DepTests_EnableEpetraExt ..................................................................................   Passed    1.32 sec
 95/176 Test  #47: TriBITS_DepXmlDumpTests_BasePackagesTpls ..........................................................................   Passed    1.32 sec
 96/176 Test  #90: TriBITS_DepTests_EnablePanzer_DisableMPI ..........................................................................   Passed    1.31 sec
 97/176 Test  #88: TriBITS_DepTests_EnablePanzer_DefaultMPI ..........................................................................   Passed    1.31 sec
 98/176 Test  #25: TriBITS_CTestScripts_cmnd_1_args_1_print_msg ......................................................................   Passed    1.31 sec
 99/176 Test  #86: TriBITS_DepTests_EnableZoltan_ZoltanEnableParMETIS ................................................................   Passed    1.32 sec
100/176 Test #106: TriBITS_DepTests_MissingExtraRepositoryFail .......................................................................   Passed    1.31 sec
101/176 Test  #48: TriBITS_DepXmlDumpTests_WithPreCopyrightTrilinos ..................................................................   Passed    1.40 sec
102/176 Test #107: TriBITS_DepTests_MissingExtraRepositoryIgnore .....................................................................   Passed    1.62 sec
103/176 Test  #77: TriBITS_DepTests_DisableThyra_EnableThyraEpetraExt ................................................................   Passed    1.41 sec
104/176 Test  #81: TriBITS_DepTests_EnableStratimikos_DisableThyra_DisableEnabledDownstreamPackages ..................................   Passed    1.50 sec
105/176 Test  #87: TriBITS_DepTests_EnableZoltan_ZoltanEnableParMETIS_TplDisableParMETIS .............................................   Passed    1.50 sec
106/176 Test  #18: TriBITS_TribitsWriteClientExportFiles_UnitTests ...................................................................   Passed    0.44 sec
107/176 Test   #2: TriBITS_mockprogram_UnitTests .....................................................................................   Passed    0.44 sec
108/176 Test  #55: TriBITS_DepTestReduced_EnableThyra_DisableEpetra_EnableTests ......................................................   Passed    0.70 sec
109/176 Test  #54: TriBITS_DepTestReduced_EnableThyra_EnableTests_EnableBoost_ST_RequiredOnly ........................................   Passed    0.80 sec
110/176 Test  #80: TriBITS_DepTests_EnableStratimikos_DisableThyra ...................................................................   Passed    1.09 sec
111/176 Test  #57: TriBITS_DepTestReduced_EnableEpetra_EnableRTOp_DisableTeuchos_DisableEnabledFwdDepPackages ........................   Passed    0.80 sec
112/176 Test  #53: TriBITS_DepTestReduced_EnableThyra_EnableTests_EnableBoost_ST .....................................................   Passed    0.80 sec
113/176 Test  #58: TriBITS_DepTestReduced_EnableAllPackages_DumpDependencies .........................................................   Passed    0.80 sec
114/176 Test  #51: TriBITS_DepTestReduced_NoEnables ..................................................................................   Passed    0.79 sec
115/176 Test #105: TriBITS_DepTests_preCopyrightTrilinos_ShowInvalidSubpackageSelfDependency .........................................   Passed    0.91 sec
116/176 Test  #41: TriBITS_CTestScripts_cmnd_2_no_fail_fast_print_msg ................................................................   Passed    0.19 sec
117/176 Test   #1: TriBITS_GeneralScriptSupport_UnitTests ............................................................................   Passed    0.20 sec
118/176 Test #119: TriBITS_ProcessEnabledTpl_HeaderOnlyTpl_BadPath_TentativeEnable ...................................................   Passed    0.21 sec
119/176 Test  #60: TriBITS_DepTestReduced_EnableAllPackages_RequiredOnly .............................................................   Passed    1.01 sec
120/176 Test  #37: TriBITS_CTestScripts_cmnd_1_args_1_working_directory ..............................................................   Passed    0.20 sec
121/176 Test  #56: TriBITS_DepTestReduced_EnableEpetra_EnableRTOp_DisableTeuchos .....................................................   Passed    1.00 sec
122/176 Test  #52: TriBITS_DepTestReduced_EnableThyra_EnableTests ....................................................................   Passed    1.01 sec
123/176 Test  #44: TriBITS_CTestScripts_cmnd_3_args_1_overall_working_directory_working_directory ....................................   Passed    0.20 sec
124/176 Test  #59: TriBITS_DepTestReduced_EnableAllPackages_VerboseConfigure .........................................................   Passed    1.02 sec
125/176 Test #104: TriBITS_DepTests_preCopyrightTrilinos_ShowInvalidPackageSelfDependency ............................................   Passed    1.12 sec
126/176 Test  #38: TriBITS_CTestScripts_cmnd_2_args_1_basic ..........................................................................   Passed    0.31 sec
127/176 Test  #42: TriBITS_CTestScripts_cmnd_2_no_fail_fast_final_fail ...............................................................   Passed    0.30 sec
128/176 Test  #15: TriBITS_CompilerOptions_UnitTests .................................................................................   Passed    0.31 sec
129/176 Test #103: TriBITS_DepTests_preCopyrightTrilinos_ShowInvalidPackageNameError .................................................   Passed    1.16 sec
130/176 Test #124: TriBITS_ProcessEnabledTpl_HeadersAndLibsTpl_Static_SkipLibsOverride ...............................................   Passed    0.11 sec
131/176 Test  #26: TriBITS_CTestScripts_cmnd_1_args_1_print_msg_no_echo_output .......................................................   Passed    0.12 sec
132/176 Test  #45: TriBITS_CTestScripts_TAT_pass_env_MPI_1 ...........................................................................   Passed    0.12 sec
133/176 Test #129: TriBITS_ProcessEnabledTpl_HeadersAndLibsTpl_Shared_BadIncludeDir_NotMustFindAllHeaders ............................   Passed    0.11 sec
134/176 Test #128: TriBITS_ProcessEnabledTpl_HeadersAndLibsTpl_Static_BadLibName .....................................................   Passed    0.13 sec
135/176 Test  #22: TriBITS_CTestScripts_simple_posfix_and_args_2_test1_MPI_1 .........................................................   Passed    0.11 sec
136/176 Test #120: TriBITS_ProcessEnabledTpl_HeadersAndLibsTpl_Shared_FindAll ........................................................   Passed    0.14 sec
137/176 Test #176: TriBITS_TribitsExampleProject_DisableWithSubpackagesB_EnableWithSubpackagesB ......................................   Passed    0.46 sec
138/176 Test #123: TriBITS_ProcessEnabledTpl_HeadersAndLibsTpl_Static_OverrideLibNames ...............................................   Passed    0.12 sec
139/176 Test  #11: TriBITS_extract_rst_cmake_doc_extract_and_replace_2_blocks ........................................................   Passed    0.14 sec
140/176 Test  #39: TriBITS_CTestScripts_cmnd_2_args_1_check_second_print .............................................................   Passed    0.20 sec
141/176 Test #114: TriBITS_ProcessEnabledTpl_HeaderOnlyTpl_FindAll ...................................................................   Passed    0.20 sec
142/176 Test  #19: TriBITS_CTestScripts_cmnd_1_args_0 ................................................................................   Passed    0.20 sec
143/176 Test  #36: TriBITS_CTestScripts_cmnd_1_args_1_message ........................................................................   Passed    0.20 sec
144/176 Test   #7: TriBITS_extract_rst_cmake_doc_help ................................................................................   Passed    0.06 sec
145/176 Test  #35: TriBITS_CTestScripts_cmnd_1_args_1_print_msg_out_file_no_echo_output ..............................................   Passed    0.26 sec
146/176 Test   #8: TriBITS_extract_rst_cmake_doc_extract_1_block_1_file ..............................................................   Passed    0.06 sec
147/176 Test  #43: TriBITS_CTestScripts_cmnd_3_args_1_overall_working_directory ......................................................   Passed    0.15 sec
148/176 Test  #30: TriBITS_CTestScripts_cmnd_1_args_1_pass_any_overall ...............................................................   Passed    0.14 sec
149/176 Test  #10: TriBITS_extract_rst_cmake_doc_extract_2_blocks_glob_dir ...........................................................   Passed    0.15 sec
150/176 Test  #31: TriBITS_CTestScripts_cmnd_1_args_1_standard_pass_output ...........................................................   Passed    0.15 sec
151/176 Test #115: TriBITS_ProcessEnabledTpl_HeaderOnlyTpl_FindAll_TentativeEnable ...................................................   Passed    0.16 sec
152/176 Test  #40: TriBITS_CTestScripts_cmnd_2_fail_fast .............................................................................   Passed    0.16 sec
153/176 Test  #23: TriBITS_CTestScripts_simple_posfix_and_args_2_test2_MPI_1 .........................................................   Passed    0.16 sec
154/176 Test  #20: TriBITS_CTestScripts_simple_pass_regex_MPI_1 ......................................................................   Passed    0.16 sec
155/176 Test  #28: TriBITS_CTestScripts_cmnd_1_args_1_print_msg_out_file .............................................................   Passed    0.16 sec
156/176 Test  #21: TriBITS_CTestScripts_simple_posfix_and_args_1_test1_MPI_1 .........................................................   Passed    0.15 sec
157/176 Test  #32: TriBITS_CTestScripts_cmnd_1_args_2_stderr_pass_regular_expression_all .............................................   Passed    0.15 sec
158/176 Test  #12: TriBITS_extract_rst_cmake_doc_extract_and_replace_2_blocks_notrace ................................................   Passed    0.14 sec
159/176 Test   #6: TriBITS_extract_rst_cmake_doc_UnitTests ...........................................................................   Passed    0.14 sec
160/176 Test  #27: TriBITS_CTestScripts_cmnd_1_args_1_return_code ....................................................................   Passed    0.11 sec
161/176 Test  #24: TriBITS_CTestScripts_will_fail_test1_MPI_1 ........................................................................   Passed    0.10 sec
162/176 Test   #9: TriBITS_extract_rst_cmake_doc_extract_2_blocks_2_files ............................................................   Passed    0.11 sec
163/176 Test #121: TriBITS_ProcessEnabledTpl_HeadersAndLibsTpl_Shared_FindAll_sets1 ..................................................   Passed    0.09 sec
164/176 Test #117: TriBITS_ProcessEnabledTpl_HeaderOnlyTpl_BadPath_ImplicitEnable ....................................................   Passed    0.09 sec
165/176 Test  #33: TriBITS_CTestScripts_cmnd_1_args_1_pass_regular_expression_all_compare_1 ..........................................   Passed    0.11 sec
166/176 Test  #29: TriBITS_CTestScripts_cmnd_1_args_1_pass_any_test_0 ................................................................   Passed    0.11 sec
167/176 Test  #16: TriBITS_TribitsProcessPackagesAndDirsLists_UnitTests ..............................................................   Passed    0.10 sec
168/176 Test  #34: TriBITS_CTestScripts_cmnd_1_args_1_pass_regular_expression_all_compare_2 ..........................................   Passed    0.11 sec
169/176 Test #127: TriBITS_ProcessEnabledTpl_HeadersAndLibsTpl_Static_BadLibPath_NotMustFindAllLibs ..................................   Passed    0.11 sec
170/176 Test #125: TriBITS_ProcessEnabledTpl_HeadersAndLibsTpl_OverrideAll ...........................................................   Passed    0.10 sec
171/176 Test   #4: TriBITS_InstallProgramDriver_UnitTests ............................................................................   Passed    0.10 sec
172/176 Test #122: TriBITS_ProcessEnabledTpl_HeadersAndLibsTpl_Static_FindAll ........................................................   Passed    0.10 sec
173/176 Test #126: TriBITS_ProcessEnabledTpl_HeadersAndLibsTpl_Static_BadLibPath .....................................................   Passed    0.10 sec
174/176 Test  #46: TriBITS_CTestScripts_TAAT_pass_env ................................................................................   Passed    0.10 sec
175/176 Test #118: TriBITS_ProcessEnabledTpl_HeaderOnlyTpl_BadPath_ExplicitEnable ....................................................   Passed    0.09 sec
176/176 Test #116: TriBITS_ProcessEnabledTpl_HeaderOnlyTpl_TplIncludeDirsOverride ....................................................   Passed    0.03 sec

SERIAL_RELEASE

  1/176 Test #163: TriBITS_TribitsExampleProject_ALL_PT_NoFortran ....................................................................   Passed    5.01 sec
  2/176 Test #170: TriBITS_TribitsExampleProject_ALL_NoFortran_WrapExternal_VerboseConfigure .........................................   Passed    5.01 sec
  3/176 Test #162: TriBITS_TribitsExampleProject_ALL_PT_NoFortran_ConfigTiming .......................................................   Passed    6.32 sec
  4/176 Test #168: TriBITS_TribitsExampleProject_SimpleCxx_DEBUG_int64 ...............................................................   Passed    7.33 sec
  5/176 Test #160: TriBITS_TribitsHelloWorld_ScaleTimeout ............................................................................   Passed    7.43 sec
  6/176 Test #159: TriBITS_TribitsHelloWorld .........................................................................................   Passed    7.43 sec
  7/176 Test #161: TriBITS_TribitsExampleProject_ALL_ST_NoFortran ....................................................................   Passed    7.43 sec
  8/176 Test #172: TriBITS_TribitsExampleProject_ALL_NoFortran_OverridePackageSourceDir ..............................................   Passed    8.64 sec
  9/176 Test #171: TriBITS_TribitsExampleProject_ALL_WrapExternal_VerboseConfigure ...................................................   Passed    8.65 sec
 10/176 Test #175: TriBITS_TribitsExampleProject_ExternalPkg .........................................................................   Passed   10.07 sec
 11/176 Test #147: TriBITS_CTestDriver_CI_EnableOnlyModified_ModifiedTeuchos .........................................................   Passed    4.14 sec
 12/176 Test #144: TriBITS_CTestDriver_CI_EnableAllSecondaryTested_EnableStalix ......................................................   Passed    2.97 sec
 13/176 Test #149: TriBITS_CTestDriver_CI_EnableOnlyModified_ModifiedThyra_NoEnableImplictlyEnabled ..................................   Passed    2.97 sec
 14/176 Test #148: TriBITS_CTestDriver_CI_Nightly_EnableOnlyModified_ModifiedTeuchos .................................................   Passed    4.29 sec
 15/176 Test #152: TriBITS_CTestDriver_CI_EnableOnlyModified_ModifiedTeuchosTeko .....................................................   Passed    3.88 sec
 16/176 Test #145: TriBITS_CTestDriver_Nightly_EnableAllSecondaryTested ..............................................................   Passed    3.88 sec
 17/176 Test #151: TriBITS_CTestDriver_CI_EnableOnlyModified_ModifiedTeko ............................................................   Passed    2.87 sec
 18/176 Test #150: TriBITS_CTestDriver_CI_EnableOnlyModified_ModifiedThyraCoreLibs_NoEnableImplictlyEnabled ..........................   Passed    2.97 sec
 19/176 Test #155: TriBITS_CTestDriver_CI_EnableOnlyModified_ModifiedNone_FailedThyraRBGen ...........................................   Passed    3.98 sec
 20/176 Test #165: TriBITS_TribitsExampleProject_ALL_ST_LibPrefix ....................................................................   Passed   13.95 sec
 21/176 Test #164: TriBITS_TribitsExampleProject_ALL_ST ..............................................................................   Passed   13.95 sec
 22/176 Test #154: TriBITS_CTestDriver_CI_EnableOnlyModified_ModifiedTeko_FailedThyraRBGen ...........................................   Passed    3.68 sec
 23/176 Test #142: TriBITS_CTestDriver_EnableAllSecondaryTested_EnableStokhos ........................................................   Passed    2.93 sec
 24/176 Test #140: TriBITS_CTestDriver_EnableAll_EnablePhalanx .......................................................................   Passed    2.93 sec
 25/176 Test #132: TriBITS_CTestDriver_EnableAllSecondaryStable ......................................................................   Passed    3.03 sec
 26/176 Test #141: TriBITS_CTestDriver_EnableAll_EnableStokhos .......................................................................   Passed    3.23 sec
 27/176 Test #143: TriBITS_CTestDriver_CI_EnableAllSecondaryTested ...................................................................   Passed    4.05 sec
 28/176 Test #130: TriBITS_CTestDriver_EnableAllDefault ..............................................................................   Passed    2.63 sec
 29/176 Test   #5: TriBITS_gitdist_UnitTests .........................................................................................   Passed    4.35 sec
 30/176 Test #153: TriBITS_CTestDriver_CI_EnableOnlyModified_ModifiedStokhosStalix_FailedNone ........................................   Passed    2.44 sec
 31/176 Test #131: TriBITS_CTestDriver_EnableAllSecondaryTested ......................................................................   Passed    3.86 sec
 32/176 Test #174: TriBITS_TribitsExampleProject_HeaderOnlyTpl_HardEnable_Fail .......................................................   Passed    2.85 sec
 33/176 Test #156: TriBITS_CTestDriver_CI_EnableOnlyModified_ModifiedNone_FailedStokhosStalix ........................................   Passed    2.44 sec
 34/176 Test #173: TriBITS_TribitsExampleProject_HeaderOnlyTpl_Fail ..................................................................   Passed    3.65 sec
 35/176 Test #146: TriBITS_CTestDriver_CI_EnableOnlyModified_ModifiedNone ............................................................   Passed    3.65 sec
 36/176 Test #137: TriBITS_CTestDriver_EnableThyra ...................................................................................   Passed    2.44 sec
 37/176 Test #136: TriBITS_CTestDriver_EnableTeuchos_DisableTPLBLAS ..................................................................   Passed    2.75 sec
 38/176 Test  #13: TriBITS_XmlHtmlCDashOutputTest ....................................................................................   Passed    2.95 sec
 39/176 Test #169: TriBITS_TribitsExampleProject_WrapExternal ........................................................................   Passed   18.32 sec
 40/176 Test #101: TriBITS_DepTests_DefaultExtraReposFile_EnableAllPackages_TraceFileProcessing ......................................   Passed    2.02 sec
 41/176 Test #138: TriBITS_CTestDriver_EnableEpetraThyra_NoProcessImplicitlyEnabled ..................................................   Passed    2.33 sec
 42/176 Test #134: TriBITS_CTestDriver_EnableRTOp_DisableTeuchos .....................................................................   Passed    2.43 sec
 43/176 Test #135: TriBITS_CTestDriver_EnableTeuchosRTOp_DisableRTOp .................................................................   Passed    2.64 sec
 44/176 Test #133: TriBITS_CTestDriver_EnableTeuchos .................................................................................   Passed    2.13 sec
 45/176 Test #139: TriBITS_CTestDriver_EnableThyra_ExcludeEpetra .....................................................................   Passed    2.23 sec
 46/176 Test  #68: TriBITS_DepTests_EnableEpetraExt_EnableAllForwardPackages .........................................................   Passed    1.72 sec
 47/176 Test  #17: TriBITS_TribitsAdjustPackageEnables_UnitTests .....................................................................   Passed    2.84 sec
 48/176 Test  #67: TriBITS_DepTests_EnableTeuchos_EnableAllForwardPackages ...........................................................   Passed    1.75 sec
 49/176 Test #109: TriBITS_DepTests_extraTrilinosRepo_EnableExtraPack ................................................................   Passed    2.86 sec
 50/176 Test #157: TriBITS_CTestDriver_Override_MPI_EXEC_MAX_NUMPROCSS ...............................................................   Passed    2.87 sec
 51/176 Test #113: TriBITS_DepTests_ENABLE_KNOWN_EXTERNAL_REPOS_TYPE_Nightly_EnableExtraPack .........................................   Passed    1.95 sec
 52/176 Test #167: TriBITS_TribitsExampleProject_ALL_ST_LibUsage_LibPrefix ...........................................................   Passed   20.68 sec
 53/176 Test  #93: TriBITS_DepTests_EnableAllPackages_EnableSecondaryTestedCode_EnableAllOptionalPackges .............................   Passed    2.05 sec
 54/176 Test #166: TriBITS_TribitsExampleProject_ALL_ST_LibUsage .....................................................................   Passed   21.80 sec
 55/176 Test #108: TriBITS_DepTests_NativeRepositoriesList1_EnableAllPackages_ST .....................................................   Passed    3.17 sec
 56/176 Test #100: TriBITS_DepTests_preCopyrightTrilinos_EnableTeko_InconsistentExtraReposFile .......................................   Passed    2.36 sec
 57/176 Test  #99: TriBITS_DepTests_preCopyrightTrilinos_EnableTeko ..................................................................   Passed    2.46 sec
 58/176 Test #110: TriBITS_DepTests_extraTrilinosRepo_EnableExtraPack_EnableExtraTPL1 ................................................   Passed    2.47 sec
 59/176 Test  #95: TriBITS_DepTests_EnableAllPackages_EnableSecondaryTestedCode_EnableSecondaryStableCode_EnableAllOptionalPackges ...   Passed    2.46 sec
 60/176 Test #112: TriBITS_DepTests_ENABLE_KNOWN_EXTERNAL_REPOS_TYPE_CI_EnableTeko ...................................................   Passed    2.47 sec
 61/176 Test #158: TriBITS_RawHelloWorld .............................................................................................   Passed    1.72 sec
 62/176 Test  #94: TriBITS_DepTests_EnableAllPackages_EnableSecondaryStableCode_EnableAllOptionalPackges_BackwardCompatible ..........   Passed    1.92 sec
 63/176 Test #102: TriBITS_DepTests_preCopyrightTrilinos_EnableStalix ................................................................   Passed    1.92 sec
 64/176 Test  #62: TriBITS_DepTests_EnableAllPackages_EnableTests ....................................................................   Passed    1.93 sec
 65/176 Test  #84: TriBITS_DepTests_EnableAllPackages_EnableBoost ....................................................................   Passed    1.92 sec
 66/176 Test  #61: TriBITS_DepTests_EnableAllPackages ................................................................................   Passed    1.91 sec
 67/176 Test  #83: TriBITS_DepTests_EnableAllPackages_DefaultTPLs ....................................................................   Passed    1.94 sec
 68/176 Test  #71: TriBITS_DepTests_EnableEpetraExt_DisableAztecOO_EnableAllForwardPackages ..........................................   Passed    2.25 sec
 69/176 Test  #89: TriBITS_DepTests_EnablePanzer_EnableMPI ...........................................................................   Passed    1.51 sec
 70/176 Test  #98: TriBITS_DepTests_EnableStratimikos_EnableIfpack_EnableAllOptionalPackages_BadSystem2 ..............................   Passed    1.54 sec
 71/176 Test  #96: TriBITS_DepTests_EnableStratimikos_EnableAllOptionalPackages_BadSystem1 ...........................................   Passed    1.55 sec
 72/176 Test  #75: TriBITS_DepTests_EnableThyra_DisableThyraEpetraExt ................................................................   Passed    1.55 sec
 73/176 Test  #97: TriBITS_DepTests_EnableStratimikos_EnableAllOptionalPackages_BadSystem2 ...........................................   Passed    1.53 sec
 74/176 Test  #85: TriBITS_DepTests_EnableAllPackages_EnableBoostParMETIS ............................................................   Passed    2.16 sec
 75/176 Test  #74: TriBITS_DepTests_EnableThyra_EnableAllForwardPackages .............................................................   Passed    1.75 sec
 76/176 Test   #3: TriBITS_CheckinTest_UnitTests .....................................................................................   Passed   24.47 sec
 77/176 Test  #72: TriBITS_DepTests_EnableAmesos_DisableZoltan_EnableAllForwardPackages ..............................................   Passed    2.27 sec
 78/176 Test  #91: TriBITS_DepTests_EnablePanzer_DisableMPI_DisableEnabledDownstreamPackages .........................................   Passed    1.74 sec
 79/176 Test  #82: TriBITS_DepTests_EnableEpetra_DisableThyraCoreLibs_EnableAllForwardPackages .......................................   Passed    1.75 sec
 80/176 Test  #78: TriBITS_DepTests_EnableThyra_DisableThyraEpetra_EnableThyraEpetraExt_DisableEnabledDownstreamPackages .............   Passed    1.74 sec
 81/176 Test  #92: TriBITS_DepTests_EnableTpetra_EnableAllForwardPackages ............................................................   Passed    1.75 sec
 82/176 Test  #14: TriBITS_TestingFunctionMacro_UnitTests ............................................................................   Passed    2.37 sec
 83/176 Test  #65: TriBITS_DepTests_EnableEpetra_DisableTeuchos_EnableAllForwardPackages .............................................   Passed    1.42 sec
 84/176 Test  #47: TriBITS_DepXmlDumpTests_BasePackagesTpls ..........................................................................   Passed    1.41 sec
 85/176 Test  #48: TriBITS_DepXmlDumpTests_WithPreCopyrightTrilinos ..................................................................   Passed    1.77 sec
 86/176 Test #107: TriBITS_DepTests_MissingExtraRepositoryIgnore .....................................................................   Passed    1.43 sec
 87/176 Test  #87: TriBITS_DepTests_EnableZoltan_ZoltanEnableParMETIS_TplDisableParMETIS .............................................   Passed    1.42 sec
 88/176 Test  #76: TriBITS_DepTests_EnableThyraEpetraExt .............................................................................   Passed    1.43 sec
 89/176 Test  #50: TriBITS_DepXmlDumpTests_WithExtraRepoOnePackage ...................................................................   Passed    1.42 sec
 90/176 Test  #63: TriBITS_DepTests_DisableEpetra_EnableAllPackages ..................................................................   Passed    1.77 sec
 91/176 Test  #86: TriBITS_DepTests_EnableZoltan_ZoltanEnableParMETIS ................................................................   Passed    1.62 sec
 92/176 Test  #64: TriBITS_DepTests_TestTrueFalse ....................................................................................   Passed    1.62 sec
 93/176 Test  #66: TriBITS_DepTests_DisableEpetra_DisableTeuchos_EnableAllPackages ...................................................   Passed    1.62 sec
 94/176 Test #111: TriBITS_DepTests_extraTrilinosRepo_ReplacePackagesList ............................................................   Passed    1.62 sec
 95/176 Test  #79: TriBITS_DepTests_EnableThyra_DisableEpetra_EnableThyraEpetraExt_DisableEnabledDownstreamPackages ..................   Passed    1.63 sec
 96/176 Test  #49: TriBITS_DepXmlDumpTests_WithPreCopyrightTrilinosExtraTrilinosRepo .................................................   Passed    1.63 sec
 97/176 Test  #70: TriBITS_DepTests_EnableEpetraExt_EnableAllOptionalPackages ........................................................   Passed    1.62 sec
 98/176 Test  #53: TriBITS_DepTestReduced_EnableThyra_EnableTests_EnableBoost_ST .....................................................   Passed    0.77 sec
 99/176 Test  #59: TriBITS_DepTestReduced_EnableAllPackages_VerboseConfigure .........................................................   Passed    0.83 sec
100/176 Test #104: TriBITS_DepTests_preCopyrightTrilinos_ShowInvalidPackageSelfDependency ............................................   Passed    0.96 sec
101/176 Test  #90: TriBITS_DepTests_EnablePanzer_DisableMPI ..........................................................................   Passed    1.16 sec
102/176 Test  #77: TriBITS_DepTests_DisableThyra_EnableThyraEpetraExt ................................................................   Passed    1.48 sec
103/176 Test  #51: TriBITS_DepTestReduced_NoEnables ..................................................................................   Passed    1.15 sec
104/176 Test  #55: TriBITS_DepTestReduced_EnableThyra_DisableEpetra_EnableTests ......................................................   Passed    1.16 sec
105/176 Test #103: TriBITS_DepTests_preCopyrightTrilinos_ShowInvalidPackageNameError .................................................   Passed    1.17 sec
106/176 Test  #81: TriBITS_DepTests_EnableStratimikos_DisableThyra_DisableEnabledDownstreamPackages ..................................   Passed    1.28 sec
107/176 Test  #58: TriBITS_DepTestReduced_EnableAllPackages_DumpDependencies .........................................................   Passed    1.37 sec
108/176 Test  #60: TriBITS_DepTestReduced_EnableAllPackages_RequiredOnly .............................................................   Passed    1.36 sec
109/176 Test  #73: TriBITS_DepTests_EnableThyraCoreLibs_EnableTests ..................................................................   Passed    1.69 sec
110/176 Test  #80: TriBITS_DepTests_EnableStratimikos_DisableThyra ...................................................................   Passed    1.70 sec
111/176 Test  #15: TriBITS_CompilerOptions_UnitTests .................................................................................   Passed    0.31 sec
112/176 Test  #88: TriBITS_DepTests_EnablePanzer_DefaultMPI ..........................................................................   Passed    1.58 sec
113/176 Test  #18: TriBITS_TribitsWriteClientExportFiles_UnitTests ...................................................................   Passed    0.42 sec
114/176 Test  #69: TriBITS_DepTests_EnableEpetraExt ..................................................................................   Passed    1.60 sec
115/176 Test #106: TriBITS_DepTests_MissingExtraRepositoryFail .......................................................................   Passed    1.60 sec
116/176 Test #114: TriBITS_ProcessEnabledTpl_HeaderOnlyTpl_FindAll ...................................................................   Passed    0.04 sec
117/176 Test   #4: TriBITS_InstallProgramDriver_UnitTests ............................................................................   Passed    0.13 sec
118/176 Test #119: TriBITS_ProcessEnabledTpl_HeaderOnlyTpl_BadPath_TentativeEnable ...................................................   Passed    0.13 sec
119/176 Test  #43: TriBITS_CTestScripts_cmnd_3_args_1_overall_working_directory ......................................................   Passed    0.23 sec
120/176 Test  #57: TriBITS_DepTestReduced_EnableEpetra_EnableRTOp_DisableTeuchos_DisableEnabledFwdDepPackages ........................   Passed    0.78 sec
121/176 Test  #44: TriBITS_CTestScripts_cmnd_3_args_1_overall_working_directory_working_directory ....................................   Passed    0.33 sec
122/176 Test  #40: TriBITS_CTestScripts_cmnd_2_fail_fast .............................................................................   Passed    0.34 sec
123/176 Test #105: TriBITS_DepTests_preCopyrightTrilinos_ShowInvalidSubpackageSelfDependency .........................................   Passed    0.77 sec
124/176 Test  #56: TriBITS_DepTestReduced_EnableEpetra_EnableRTOp_DisableTeuchos .....................................................   Passed    0.39 sec
125/176 Test   #2: TriBITS_mockprogram_UnitTests .....................................................................................   Passed    0.39 sec
126/176 Test   #1: TriBITS_GeneralScriptSupport_UnitTests ............................................................................   Passed    0.39 sec
127/176 Test #115: TriBITS_ProcessEnabledTpl_HeaderOnlyTpl_FindAll_TentativeEnable ...................................................   Passed    0.38 sec
128/176 Test  #45: TriBITS_CTestScripts_TAT_pass_env .................................................................................   Passed    0.39 sec
129/176 Test #127: TriBITS_ProcessEnabledTpl_HeadersAndLibsTpl_Static_BadLibPath_NotMustFindAllLibs ..................................   Passed    0.05 sec
130/176 Test  #52: TriBITS_DepTestReduced_EnableThyra_EnableTests ....................................................................   Passed    0.89 sec
131/176 Test #120: TriBITS_ProcessEnabledTpl_HeadersAndLibsTpl_Shared_FindAll ........................................................   Passed    0.05 sec
132/176 Test   #8: TriBITS_extract_rst_cmake_doc_extract_1_block_1_file ..............................................................   Passed    0.06 sec
133/176 Test  #23: TriBITS_CTestScripts_simple_posfix_and_args_2_test2 ...............................................................   Passed    0.05 sec
134/176 Test  #54: TriBITS_DepTestReduced_EnableThyra_EnableTests_EnableBoost_ST_RequiredOnly ........................................   Passed    0.89 sec
135/176 Test #176: TriBITS_TribitsExampleProject_DisableWithSubpackagesB_EnableWithSubpackagesB ......................................   Passed    0.46 sec
136/176 Test   #7: TriBITS_extract_rst_cmake_doc_help ................................................................................   Passed    0.07 sec
137/176 Test  #11: TriBITS_extract_rst_cmake_doc_extract_and_replace_2_blocks ........................................................   Passed    0.06 sec
138/176 Test  #42: TriBITS_CTestScripts_cmnd_2_no_fail_fast_final_fail ...............................................................   Passed    0.06 sec
139/176 Test   #6: TriBITS_extract_rst_cmake_doc_UnitTests ...........................................................................   Passed    0.07 sec
140/176 Test #118: TriBITS_ProcessEnabledTpl_HeaderOnlyTpl_BadPath_ExplicitEnable ....................................................   Passed    0.05 sec
141/176 Test  #10: TriBITS_extract_rst_cmake_doc_extract_2_blocks_glob_dir ...........................................................   Passed    0.07 sec
142/176 Test   #9: TriBITS_extract_rst_cmake_doc_extract_2_blocks_2_files ............................................................   Passed    0.07 sec
143/176 Test #123: TriBITS_ProcessEnabledTpl_HeadersAndLibsTpl_Static_OverrideLibNames ...............................................   Passed    0.07 sec
144/176 Test #121: TriBITS_ProcessEnabledTpl_HeadersAndLibsTpl_Shared_FindAll_sets1 ..................................................   Passed    0.06 sec
145/176 Test #128: TriBITS_ProcessEnabledTpl_HeadersAndLibsTpl_Static_BadLibName .....................................................   Passed    0.05 sec
146/176 Test #116: TriBITS_ProcessEnabledTpl_HeaderOnlyTpl_TplIncludeDirsOverride ....................................................   Passed    0.04 sec
147/176 Test  #41: TriBITS_CTestScripts_cmnd_2_no_fail_fast_print_msg ................................................................   Passed    0.05 sec
148/176 Test  #30: TriBITS_CTestScripts_cmnd_1_args_1_pass_any_overall ...............................................................   Passed    0.04 sec
149/176 Test  #37: TriBITS_CTestScripts_cmnd_1_args_1_working_directory ..............................................................   Passed    0.04 sec
150/176 Test #124: TriBITS_ProcessEnabledTpl_HeadersAndLibsTpl_Static_SkipLibsOverride ...............................................   Passed    0.05 sec
151/176 Test #122: TriBITS_ProcessEnabledTpl_HeadersAndLibsTpl_Static_FindAll ........................................................   Passed    0.04 sec
152/176 Test #125: TriBITS_ProcessEnabledTpl_HeadersAndLibsTpl_OverrideAll ...........................................................   Passed    0.06 sec
153/176 Test #117: TriBITS_ProcessEnabledTpl_HeaderOnlyTpl_BadPath_ImplicitEnable ....................................................   Passed    0.04 sec
154/176 Test  #24: TriBITS_CTestScripts_will_fail_test1 ..............................................................................   Passed    0.06 sec
155/176 Test  #12: TriBITS_extract_rst_cmake_doc_extract_and_replace_2_blocks_notrace ................................................   Passed    0.06 sec
156/176 Test  #21: TriBITS_CTestScripts_simple_posfix_and_args_1_test1 ...............................................................   Passed    0.06 sec
157/176 Test  #19: TriBITS_CTestScripts_cmnd_1_args_0 ................................................................................   Passed    0.06 sec
158/176 Test #126: TriBITS_ProcessEnabledTpl_HeadersAndLibsTpl_Static_BadLibPath .....................................................   Passed    0.06 sec
159/176 Test  #31: TriBITS_CTestScripts_cmnd_1_args_1_standard_pass_output ...........................................................   Passed    0.04 sec
160/176 Test  #16: TriBITS_TribitsProcessPackagesAndDirsLists_UnitTests ..............................................................   Passed    0.06 sec
161/176 Test  #32: TriBITS_CTestScripts_cmnd_1_args_2_stderr_pass_regular_expression_all .............................................   Passed    0.02 sec
162/176 Test  #26: TriBITS_CTestScripts_cmnd_1_args_1_print_msg_no_echo_output .......................................................   Passed    0.02 sec
163/176 Test  #22: TriBITS_CTestScripts_simple_posfix_and_args_2_test1 ...............................................................   Passed    0.01 sec
164/176 Test  #25: TriBITS_CTestScripts_cmnd_1_args_1_print_msg ......................................................................   Passed    0.03 sec
165/176 Test  #34: TriBITS_CTestScripts_cmnd_1_args_1_pass_regular_expression_all_compare_2 ..........................................   Passed    0.03 sec
166/176 Test  #20: TriBITS_CTestScripts_simple_pass_regex ............................................................................   Passed    0.02 sec
167/176 Test #129: TriBITS_ProcessEnabledTpl_HeadersAndLibsTpl_Shared_BadIncludeDir_NotMustFindAllHeaders ............................   Passed    0.04 sec
168/176 Test  #35: TriBITS_CTestScripts_cmnd_1_args_1_print_msg_out_file_no_echo_output ..............................................   Passed    0.04 sec
169/176 Test  #33: TriBITS_CTestScripts_cmnd_1_args_1_pass_regular_expression_all_compare_1 ..........................................   Passed    0.03 sec
170/176 Test  #36: TriBITS_CTestScripts_cmnd_1_args_1_message ........................................................................   Passed    0.03 sec
171/176 Test  #38: TriBITS_CTestScripts_cmnd_2_args_1_basic ..........................................................................   Passed    0.02 sec
172/176 Test  #28: TriBITS_CTestScripts_cmnd_1_args_1_print_msg_out_file .............................................................   Passed    0.02 sec
173/176 Test  #29: TriBITS_CTestScripts_cmnd_1_args_1_pass_any_test_0 ................................................................   Passed    0.05 sec
174/176 Test  #46: TriBITS_CTestScripts_TAAT_pass_env ................................................................................   Passed    0.02 sec
175/176 Test  #39: TriBITS_CTestScripts_cmnd_2_args_1_check_second_print .............................................................   Passed    0.03 sec
176/176 Test  #27: TriBITS_CTestScripts_cmnd_1_args_1_return_code ....................................................................   Passed    0.02 sec

Now, I can make sure that we get back all of the tests.

I would like to make these changes in phases so that we can get tests running again as quickly as possible. Note that I will need to keep TriBITS "working" or I will not even be able to configure the outer TriBITS project to run any of the tests.

Here is the order I will go to rearrange the directories:

1) Move all of the files and directories around according to the plan:

After moving everything around to first estimate we have:

TriBITS/

$ cd TriBITS/

$ du -sh * | sort -rh

34M TriBITSDoc
3.2M    tribits
1.8M    test
804K    common_tools
60K checkin-test.py
16K dev_testing
12K refactoring
8.0K    cmake
4.0K    TPLsList.cmake
4.0K    snapshot-dir.py
4.0K    ReleaseNotes.txt
4.0K    README.rst
4.0K    ProjectName.cmake
4.0K    project-checkin-test-config.py
4.0K    PackagesList.cmake
4.0K    Copyright.txt
4.0K    CMakeLists.txt

TriBITS/tribits/

$ cd TriBITS/tribits/

$ du -sh * | sort -rh

1.6M    doc
1.2M    core
168K    python_utils
144K    ci_support
100K    ctest_driver
60K dashboard_driver
52K devtools_install
8.0K    common_tpls
4.0K    TriBITS.cmake

TriBITS/test/

$ cd TriBITS/test/

$ du -sh * | sort -rh

1.2M    core
372K    ci_support
136K    python_utils
112K    ctest_driver
8.0K    devtools_install
4.0K    dashboard_driver

Darn, so why is TriBITS/tribit/core/ so big?

TriBITS/test/core/

$ cd TriBITS/test/core/

$ du -sh * | sort -rh

764K    package_arch
216K    utils
64K config_tests
44K installation
28K win_interface
16K std_tpls
12K modules

I suspect that we could move win_inteface back into Trilinos proper or we could move it outside of the core/ directory. In fact, that is what we should do since only some packages need this windows porting interface. Therefore, I will move it out of tribits/core/ and just into tribits/.

To put this in perspective, the standard CMake modules for CMake 2.8.11 installed under /share/cmake-2.8/ are:

$ du -sh * | sort -rh
3.8M    Modules
244K    Templates
40K editors
20K completions
16K include

So even without trimming down tribits/core/ it is still only 1/4th the size of the standard CMake modules.

That means that if you install TriBITS, it will not take up much room on your machine.

However, why is tribits/core/ so big? Let's look at how much data is being taken up with the silly copyright headers and blank lines:

$ cd TriBITS/tribits/core/

# Full size
$ cat `find . -type f` | wc -c
902302

# Without blank lines
$ cat `find . -type f` | grep -v "^ *$" | wc -c
898942

# Without comments:
$ cat `find . -type f` | grep -v "^ *#" | wc -c
421341

# Without comments or blank lines
$ cat `find . -type f` | grep -v "^ *#" | grep -v "^ *$" | wc -c
417981

So removing comment lines would reduce the size of tribits/core/ by about a factor of 2. Therefore, if people complain about the size of TriBITS Core, we can just filer out all of the comment lines when we snapshot the files. That should reduce the size to under 500K.

If you filter out all of the comments and blank lines, all of TriBITS Core is just under 10K lines of CMake and other code:

$ cd TriBITS/tribits/core/

$ cat `find . -type f` | grep -v "^ *#" | grep -v "^ *$" | wc -l
9802

That is not huge is it?

Also, I think I can move some of the CMake code out into *.cmake files in tribits/ctest_driver/ for example.

2) Get TriBITS project building again (with no tests initially) [Done]

3) Get tribits/core/ tests working [Done]

4) Get tribits/python_utils/ tests working again [Done]

5) Get tribits/ci_support/ tests working [Done]

6) Get tribits/ctest_driver/ tests working [Done]

7) Get tribits/devtools_install/ tests working [Done]

9) Add a TriBITS/Version.cmake file and get development-mode tests working [Done]

10) Push updated version to github/master and update cron job on trilinos.org that publishes documentation.

I forced the branch with:

$ cd TriBITS/
$ git checkout master
$ git reset --hard tribits_reorg_26
$ git push -f github master

I then pushed the update to the TriBITSDoc repo as well (which was not filtered so it was a simple merge and push).

I then updated the TriBITS repo at:

trilinos.org:/home/bartlettra/TriBITS/

using:

$ cd TriBITS/
$ git fetch origin
$ reset --hard origin/master

And then updated the cron job to be:

# ----------------- minute (0 - 59)
# |  -------------- hour (0 - 23)
# |  |  ----------- day of month (1 - 31)
# |  |  |  -------- month (1 - 12)
# |  |  |  |  ----- day of week (0 - 7) (Sunday=0 or 7)
# |  |  |  |  |
# *  *  *  *  *  command to be executed
  0,20,40  *  *  *  *  cd /home/bartlettra/TriBITS \
  && ./tribits/python_utils/gitdist --dist-no-color pull \
  &> ../tribits.pull.log && cd TriBITSDoc/website \
  && ./publish_web_docs.sh /var/www/html/tribits \
  &> ../../../tribits.publish.log

To provide access to the old history which is mentioned in Trilinos snapshots in Trilinos/cmake/tribits/, I created and pushed the branch:

$ cd TriBITS/
$ git checkout -b old_master 4256d03
$ git push rab-github old_master

Now we can see these old commits to see changes.

bartlettroscoe commented 9 years ago

I pushed the updated version of TriBITS to casl-dev/master and did a bunch other stuff.

The last thing I do before I close this ticket will be to update the new directory structure in the developers guide.

bartlettroscoe commented 9 years ago

With my last set of commits, this is complete. You can see the documented directories here.

This story is complete!

bartlettroscoe commented 9 years ago

Final statistics on the size of TriBITS:

TriBITS/

$ cd TriBITS/

$ du -sh * | sort -rh

4.0M    tribits
1.1M    test
488K    common_tools
16K dev_testing
12K refactoring
8.0K    cmake
...

TriBITS/tribits/

$ cd TriBITS/tribits/

[8vt@u235 tribits]$ du -sh * | sort -rh
1.4M    examples
1.1M    core
564K    doc
504K    ci_support
176K    python_utils
120K    ctest_driver
56K dashboard_driver
52K devtools_install
28K win_interface
28K common_tpls
...

Size of files compacted in TriBITS/tribits/core/

$ cd TriBITS/tribits/core/

# Full source
$ cat `find . -type f`  | wc -c
871117

# Without comments:
$ cat `find . -type f` | grep -v "^ *#" | wc -c
396729

# Without comments or black lines:
$ cat `find . -type f` | grep -v "^ *#" | grep -v "^ *$" | wc -c
393603

So there you have it. All of TirBITS/tribits/ is about 4.0M and TriBITS/tribits/core/ is about 1.1M. If I get rid of all of the copyright headers, it would likely be a lot smaller.