]> git.sur5r.net Git - bacula/bacula/blobdiff - regress/README.ctest
Make out of freespace non-fatal for removable devices -- i.e. behaves like tape
[bacula/bacula] / regress / README.ctest
index 0f05e879a914c2dcc4706342a596ceee007481fb..09e51bec13d2b033b28340cad16787c84518cd51 100644 (file)
@@ -1,6 +1,10 @@
 
 Bacula Regression Suite and CTest
 ==================================================================
+#
+# Copyright (C) 2000-2015 Kern Sibbald
+# License: BSD 2-Clause; see file LICENSE-FOSS
+#
 
 Thanks to Frank Sweetser, the Bacula regression scripts have now been modified
 to use the ctest component of cmake.  The major gain from this, since Bacula
@@ -8,6 +12,7 @@ already had a working test framework in place, is the ability to have the
 results of each test submitted to a centralized dashboard system.  All of the
 test results are aggregated and summarized, where all of the developers can
 quickly see how the regression tests are running.
+====
 
 How to Use CTest
 ==================================================================
@@ -58,11 +63,10 @@ that -- they are things where you are experimenting and it is expected that
 something might be broken (bad ctest configuration, experimental source
 code, ...), and nightly runs are not expected to fail.
 
-If you are a developer and you have modified your local SVN repository, you
+If you are a developer and you have modified your local Git repository, you
 should be running the experimental tests -- they are designed for developers.
 If you do modify your local repository and commit it, then run a nightly
-test, the local repository may be reverted to a prior version so that the
-nightly tests all have a consistent cutoff time.
+test.
 
 If you are just doing testing on a nightly basis (no development in your
 source repository), then please use the nightly tests.
@@ -86,38 +90,60 @@ DartTestfile.txt that matches the pattern will be run.
 
 Note that you must have run ./scripts/do_sed at least once already in order to
 use Experimental mode.
+====
 
-Updating and Building Within CTest
+Updating and Building Within CTest:
 ==================================================================
-
 Before each Nightly run, ctest will automatically update the BACULA_SOURCE
 directory, and submit these updates along with the test results.  Any
 Experimental runs will not.
 
 Before either type of run actually begins running tests, ctest will run the
-script scripts/update-ctest.  This script first compares the svn version of
+script scripts/update-ctest.  This script first compares the version of
 BUILD_SOURCE with that of the build/ directory.  If the two versions differ, or
 if the build/ directory does not exist, it will automatically run 'make setup'
 for you.
+====
 
-Viewing the Dashboard
+Viewing the Dashboard:
 ==================================================================
-
 You can view the dashboard at:
 
 http://regress.bacula.org/index.php?project=bacula
 
-
 Results will not be visible as soon as they are submitted to the server.
 Processing is currently done every 10 minutes, so you may have to wait up to 15
 minutes or so before your results show up.
+====
 
-=========================================================
+Getting CTest running on Solaris (thanks to Robert Hartzell):
+============================================================
+The regression is working in zone on opensolaris build 126
+
+ create a zone and install these pkg's:
+    SUNWcmake, SUNWmysql5, SUNWlibm, gcc-dev
+    SUNWgtar, SUNWgit, SUNWperl584usr,
+    and most of SUNWgnu*
 
+ In the config file I edited the "WHICHDB=" line to read:
+     WHICHDB="--with-mysql=/usr/mysql/5.0"
+
+ And then in the shell:
+ $ export LDFLAGS="-L/usr/mysql/5.0/lib/mysql -R/usr/mysql/5.0/lib/mysql"
+ $ PATH=/usr/gnu/bin:$PATH
+
+ When i first ran "make setup" it failed... couldn't create the database
+ so I had to run /usr/mysql/5.0/bin/mysql -u root mysql and do this:
+    grant all privileges on regress.* to ''@localhost;
+    grant all privileges on regress.* to ''@"%";
+====
+
+CTest script details:
+=========================================================
 Email from Frank describing the flow when running a ctest and some of the
 problems that come up.
 
-0. Start off with a local svn repository at version A, and the master 
+0. Start off with a local Git repository at version A, and the master 
 repository at version B.
 
 1. nightly-disk is started.
@@ -135,7 +161,7 @@ BuildName parameter of A.
 6. nightly-disk then runs 'ctest -D Nightly'.  This implicitly tells ctest to 
 perform Update, Configure, Build, Test, and Submit stages, in that order.
 
-7. The Update stage runs 'svn update' on the local repository.  The local 
+7. The Update stage runs 'git pull' on the local repository.  The local 
 repository is now updated to version B from the master, but since the 
 DartConfiguration.tcl file was already created and has not been updated, the 
 Update.xml file has the version A BuildName still.
@@ -146,7 +172,7 @@ to not throw any false errors, and can effectively be treated as a no-op.
 
 9. Next is the Build stage, which is handled by calling scripts/update-ctest.
 
-10.  update-ctest checks the svn versions of regress/build vs BACULA_SOURCE. 
+10.  update-ctest checks the Git versions of regress/build vs BACULA_SOURCE. 
 Since the two are different (regress/build is still version A, while 
 BACULA_SOURCE has been updated to B) it calls 'make setup'.
 
@@ -181,7 +207,7 @@ runs at
 http://regress.bacula.org:8081/Bacula/Dashboard/Dashboard?trackid=29
 
 The Update and Build information show up with a BuildName of 
-bacula-2.­3.­10-26Feb08-Linux-sqlite3, then after svn update hit the Test 
+bacula-2.­3.­10-26Feb08-Linux-sqlite3, then aftegit pull hit the Test 
 information shows up with bacula-2.­3.­11-03Mar08-Linux-sqlite3.  (Ignore for 
 the moment the fact my timestamps are at 6:59PM, rather than at 9PM where 
 they're supposed to be; this seems to be a Fedora specific client side issue I 
@@ -195,8 +221,13 @@ create a hook to tag the version being tested, everyone as far as I can tell
 just seems to rely on the timestamp of the test.
 ======
 
+Important Note:
+======================================================================
 NOTE !!!!!!!!! ctest can actually back out changes that have been made to
-your local source repository.  As a consequence, it is probably better not to
+your local source repository (this was true for SVN, but I (Kern) am
+not sure it is true now that we have switched to git).
+
+As a consequence, it is probably better not to
 use a directory in which you are developing code for Nightly tests.  Seee the
 below explanation given by Frank Sweetser.