Hi
I've tried for some time now, to figure out how to configure properly my CDash
project to get in the "Update" column of the Dashboard something else than 0,
using P4Web as Repository Viewer.
First let me give you some details.
Our build system is based on cmake 3.9.4. We use ctest to run a set of unit
tests (on Both Linux and Windows platforms) in our Continuous Integration
system.
Our SCM is Perforce
I installed some time ago a CDash 2.5.0 Linux server to display the results of
the Update, configure, build steps of our Continuous integration.
A CtestConfig.cmake is generated in the build directory.
## The following are required to uses Dart and the Cdash dashboard.
set(CTEST_PROJECT_NAME "<our_project_name>")
set(CTEST_NIGHTLY_START_TIME "01:00:00 UTC")
set(CTEST_DROP_METHOD "http")
set(CTEST_DROP_SITE "<our cdash server>")
set(CTEST_DROP_LOCATION "/submit.php?project=<our_project_name>")
set(CTEST_DROP_SITE_CDASH TRUE)
# Maximum time allowed before CTest will kill the test.
set(CTEST_TEST_TIMEOUT 600)
A CTestTestfile.cmake contains the list of Unit Tests to run
Finally the ctest script I passed to ctest using the -S option to proceed with
the update, the build and run the tests:
ctest -D Continuous -S MyCtest.cmake,Continuous --verbose --output-on-failure
--timeout 900 -C Release
Set:
* CTEST_SITE
* CTEST_BUILD_NAME
* CTEST_PROJECT_NAME
* CTEST_NOTES_FILE
* CTEST_P4_CLIENT
* CTEST_P4_COMMAND to the full path of the p4 command
* CTEST_UPDATE_COMMAND to ${ CTEST_P4_COMMAND}
* CTEST_SOURCE_DIRECTORY
* CTEST_BINARY_DIRECTORY
* CTEST_BUILD_COMMAND
And run
* ctest_start (${CTEST_SCRIPT_ARG})
* ctest_update (SOURCE "${CTEST_SOURCE_DIRECTORY}" RETURN_VALUE update_code)
* ctest_build (BUILD "${CTEST_SOURCE_DIRECTORY}/library" RETURN_VALUE
build_code)
* ctest_test (BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE test_code)
* ctest_submit ()
I got all what I wish in the CDash Dashboard for my Project excepted for the
"Update" "Files" column that systematically contains "0"
Clicking on the "0" link open a page containing:
Files changed on <ctest_site> (Build_name ) as of <date>
Revision: (<URL of the P4Web server>/@md=d&cd=<Perforce depot
path>&rt=s&thv=d&c=igy@/epos/?ac=43&mx=50&sr=<Perforce ChangeList number>
Prior Revision: (<URL of the P4Web server>/@md=d&cd=<Perforce depot
path>&rt=s&thv=d&c=igy@/epos/?ac=43&mx=50&sr=<Perforce ChangeList number>
Show Activity Graph
Expand All | Collapse all
[http://vm-pau-cdash/img/Minus.gif][http://vm-pau-cdash/img/Open.gif]<javascript:reload()>
DMP Updated files (0)
[http://vm-pau-cdash/img/Minus.gif][http://vm-pau-cdash/img/Open.gif]<javascript:reload()>
Modified files (0)
[http://vm-pau-cdash/img/Minus.gif][http://vm-pau-cdash/img/Open.gif]<javascript:reload()>
Conflicting files (0)
Expand All | Collapse All
But to get this result I had to modify the
<CDash_Install_dir>/include/repository.php file
to make the two "Revision" and "Prior Revision" html links open a page on the
P4Web.
I modified the get_p4web_revision_url function (use the action code 43 instead
of the 64 one and set a max number of CL to 50)
function get_p4web_revision_url($projecturl, $revision, $priorrevision)
{
//$revision_url = $projecturl . '?ac=64&sr=' . $revision;
$revision_url = $projecturl . '?ac=43&mx=50&sr=' . $revision;
return make_cdash_url($revision_url);
}
And
The get_p4web_diff_url function where the action code 207 leads to an
incorrect link
function get_p4web_diff_url($projecturl, $directory, $file, $revision)
{
$diff_url = rtrim($projecturl, '/') . ($directory ? ('/' . $directory) :
'') . '/' . $file;
if ($revision != '') {
$prev_revision = get_previous_revision($revision);
if ($prev_revision != $revision) {
//$diff_url .= '?ac=207&sr1=' . $prev_revision . '&sr2=' .
$revision;
$diff_url .= '?ac=64&sr=' . $prev_revision . '&sr2=' . $revision;
} else {
$diff_url .= '?ac=64&sr=' . $revision;
}
}
return make_cdash_url($diff_url);
}
I really would like to succeed in setting correctly my CDash project, but still
don't find how to set properly for a P4Web Repository Viewer, the following
text fields:
* Repository Viewer URL
* The Repository
* The branch
* The Username
* Password
And to fix this always "0" result in the Update column
This will be great if someone could give me some advices or tell me what I miss
to correctly set the Update column in CDash and have access to the modified
files when clicking on the number in the Update column
Thank you
Dominique
Dominique Ledit | Sr. DevOps, Paradigm | Exploration and Production Software
Emerson Automation Solutions | 2 av. Président Pierre Angot | 64000 | Pau |
France
T 011-33-(0)5-59-72-79-14
[email protected]<mailto:[email protected]>
[cid:[email protected]]<http://www.pdgm.com/>
------------------- This e-mail, including any attached files, may contain
confidential and privileged information for the sole use of the intended
recipient. Any review, use, distribution, or disclosure by others is strictly
prohibited. If you are not the intended recipient (or authorized to receive
information for the intended recipient), please contact the sender by reply
e-mail and delete all copies of this message.
--
Powered by www.kitware.com
Please keep messages on-topic and check the CMake FAQ at:
http://www.cmake.org/Wiki/CMake_FAQ
Kitware offers various services to support the CMake community. For more
information on each offering, please visit:
CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Follow this link to subscribe/unsubscribe:
https://cmake.org/mailman/listinfo/cmake