HTCondor Project List Archives



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Condor-devel] Problems compiling Condor



Hi Dan,

Thanks for the reply. With the help of David McBride(local) I've been able to get a lot further with this problem. Please find attached a new version of the functional_tests.txt and a log file of the output from running this.

As you can see from the logfile the first two are out by 3600 seconds (1 hour). This lead us to suspect that the code or the test suite was not handling British Summer Time (our local time zone). By switching the time zone on the computer to UTC the tests run successfully.

I'm guessing this needs to be reported as a bug somewhere?

Many thanks,

steve..

Dan Bradley wrote:
Steve,

Could you please add a line to functional_tests.txt to see what absTime() is evaluating to? One of the lines where it is failing is this line 119:

same int(absTime("1970-01-01T:00:00:01Z")), 1

Add the following code before that:

eval x = int(absTime("1970-01-01T:00:00:01Z"))
print $x

Then you can run the functional tester:

classad_functional_tester functional_tests.txt

The expected output from that print statement is a line containing just the digit 1.

--Dan

Matthew Farrellee wrote:

Steve,

All the errors are related to the absTime function in ClassAds, and more specifically the hours portion of the time. Someone more familiar with the classads code may have some insight given that information.

I don't believe Condor uses that function.

FYI, Condor nightly on x86_64 Red Hat Enterprise Linux AS 3 (Taroon Update 5), without this error.

Best,


matt

Stephen McGough wrote:
Dear matt,

Thanks for the reply, but unfortunately as one of the main reason why I'm trying to re-compile condor is to get the classads recompiling without them is a non-starter.

I've already looked in the directory externals/build and had attached the whole log file for the attempt to build classads. The tests that are failing are:

FAIL: classad_functional_tester_s
FAIL: classad_functional_tester_ns_s


As I'm no expert in the classads code I've got little idea where to start looking to fix these errors. I'm hoping this is something that one of the developers can suggest a solution for.

Many thanks,

steve..

Matthew Farrellee wrote:
Stephen McGough wrote:
Dear All,

I've been trying to compile condor (both versions 7.0.3-stable and 7.1.1-devel) without success under Linux (Redhat Enterprise server 3 and Scientific Linux 3 (3.0.9)). In both cases I come up against the same problem.

When compiling classad-1.0rc5 the automated tests fail on two cases. I've attached the log file for compiling classads here.

Can anyone advise how to rectify this problem? Either changes to code / software / OS?

Many thanks,

steve..
I'd suggest looking into what tests are failing. You can go into externals/build/..., which is on the same level as src/ and config/.

Or you could disable ClassAds if you don't need them, --without-classads to configure

Best,


matt
_______________________________________________
Condor-devel mailing list
Condor-devel@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/condor-devel

--
------------------------------------------------------------------------
Dr A. Stephen McGough                       http://www.doc.ic.ac.uk/~asm
------------------------------------------------------------------------
Technical Coordinator, London e-Science Centre, Imperial College London,
Department of Computing, 180 Queen's Gate, London SW7 2BZ, UK
tel: +44 (0)207-594-8409                        fax: +44 (0)207-581-8024
------------------------------------------------------------------------
[asm@chestnut classads-1.0rc5]$ ./classad_functional_tester ~/functional_tests.txt
ClassAd Functional Tester v1.0-rc5
Testing basic math...
Testing extreme numbers...
Testing basic attributes in a ClassAd...
Testing XML...
Testing select on lists...
Testing subscripts
Testing multiple semicolons...
Testing functions...
EVALUATING:	int(absTime("1970-01-01T:00:00:01Z"))
RESULT: 		-3599, 1
* Line 123: the expressions are different.
EVALUATING:	int(absTime("1970-01-01T:00:00:01Z"))
RESULT:		-3599, 1						
* Line 130: the expressions are different.
EVALUATING: real(absTime("1970-01-01T:00:00:01Z")), 1.0	
RESULT: -3.599000000000000E+03, 1.0
* Line 138: the expressions are different.
STATE: 		absTime("1970-01-02T:03:04:05Z")
EVALUATING: 	splitTime(absTime("1970-01-02T02:04:05-0000")).hours, 3		
RESULT:		1, 3
* Line 197: the expressions are different.
STATE:		absTime("1970-01-02T:03:04:05-06:00")
EVALUATING: 	splitTime(absTime("1970-01-02T02:04:05-0600")).hours, 3
RESULT: 		1, 3
* Line 211: the expressions are different.
5 errors
[asm@chestnut classads-1.0rc5]$ 
/////////////////////////////////
echo Testing basic math...
eval x = (1 + 2)
same $x, 3
eval x = (3 - 1) 
same $x, 2
eval x = (2 * 3)
same $x, 6
eval x = (8 / 2)
same $x, 4

echo Testing extreme numbers...
same string(real("INF")), "real(\"INF\")"
same string(real("-INF")), "real(\"-INF\")"
same string(real("NaN")), "real(\"NaN\")"
diff real("NaN"), real("NaN")
same real("INF"), real("INF")
same real("-INF"), real("-INF")
diff real("INF"), real("-INF")
same 0.0, -(0.0)
same 0.0, real("-0.0")
same string(0.0), "0.0"
same string(-0.0), "-0.0"

/////////////////////////////////
echo Testing basic attributes in a ClassAd...
eval x = [
            a = 1;
            b = 2.0;
            c = "alain";
            d = true;
            atime = absTime("2004-01-01");
            rtime = relTime("2+25:14:16.123");
            l = {1, 1, 2, 3, 5};
            e = error;
            u = undefined;
         ]
same $x.a, 1
same $x.b, 2.0
same $x.c, "alain"
same $x.d, true
same $x.atime, absTime("2004-01-01");
same $x.rtime, relTime("2+25:14:16.123");
same $x.l, {1, 1, 2, 3, 5}
same $x.l[4], 5
same $x.e, error
same $x.u, undefined
same isinteger($x.a), true
same isinteger($x.b), false
same isreal($x.b), true
same isreal($x.c), false
same isstring($x.c), true
same isstring($x.d), false
same isboolean($x.d), true
same isboolean($x.c), false
same isabstime($x.atime), true
same isabstime($x.rtime), false
same isreltime($x.rtime), true
same isreltime($x.atime), false
same islist($x.l), true
same islist($x.a), false
same iserror($x.e), true
same iserror($x.u), false
same isundefined($x.u), true
same isundefined($x.e), false

// Note that testing XML relies on the ClassAd from
// the above testing.
echo Testing XML...
eval y = [ a = 2; b = "Lisp rocks"; ]
writexml tmp.xml {$x, $y}
readxml z tmp.xml
same $x, $z[0]
same $y, $z[1]

/////////////////////////////////
echo Testing select on lists...
eval x = {
           [a = 3; b = "I see London"],
           [a = 2; b = "I see France"],
           [a = 1; b = "I see Alain's funky pants"]
         }
same $x.a, {3, 2, 1}
same $x.b, {"I see London", "I see France", "I see Alain's funky pants"}
same $x.c, {undefined, undefined, undefined}
same {}.a, {}

/////////////////////////////////
echo Testing subscripts
eval x = [
           a = 3;
           b = "alain";
           ab = 4;
         ]
same $x["a"], 3
same $x["b"], "alain"
same $x["c"], error
eval d = $x["c"]
same $x[strcat("a", "b")], 4
eval x = {"a", "b", "c"}
same $x[0], "a"
same $x[1], "b"
same $x[2], "c"
same $x[3], error

/////////////////////////////////
echo Testing multiple semicolons...
eval x = [
           ;;
           a = 3;;
           b = 4;;
         ]

/////////////////////////////////
echo Testing functions...
same int(3), 3
same int(3.9), 3
same int("3.9"), 3

eval z = int(absTime("1970-01-01T:00:00:01Z"))
echo EVALUATING:	int(absTime("1970-01-01T:00:00:01Z"))
echo RESULT: 		$z, 1
same int(absTime("1970-01-01T:00:00:01Z")), 1		// FAIL

same int(reltime("01:00:01")), 3601

eval y = int(absTime("1970-01-01T:00:00:01Z"))
echo EVALUATING:	int(absTime("1970-01-01T:00:00:01Z"))
echo RESULT:		$y, 1						
same $y, 1						// FAIL

same real(3), 3.0
same real(3.9), 3.9
same real("3.9"), 3.9
echo EVALUATING: real(absTime("1970-01-01T:00:00:01Z")), 1.0	
eval z = real(absTime("1970-01-01T:00:00:01Z"))
echo RESULT: $z, 1.0
same real(absTime("1970-01-01T:00:00:01Z")), 1.0	// FAIL
same real(reltime("01:00:01")), 3601.0

same string("alain"), "alain"
same string(1), "1"

same floor(3.9), 3
same floor("3.9"), 3

same ceiling(3.9), 4
same ceiling("3.9"), 4

same round(3.1), 3
same round(3.9), 4

same strcat("", "roy"), "roy"
same strcat("alain", ""), "alain"
same strcat("alain", "roy"), "alainroy"
same strcat(14, " bottles of root beer"), "14 bottles of root beer"

same substr("abcde", 1), "bcde"
same substr("abcde", 4), "e"
same substr("abcde", 5), ""
same substr("abcde", 1, 2), "bc"
same substr("abcde", 4, 2), "e"

same strcmp("alain", "roy") < 0, true
same strcmp("roy", "alain") > 0, true
same strcmp("alain", "alain"), 0

same stricmp("alain", "ALAIN"), 0
same stricmp("alain", "roy") < 0, true

same tolower("ALAIN"), "alain")
same toupper("alain"), "ALAIN")
same tolower(true), "true")
same toupper(true), "TRUE")

same member(1, {1, 2, 3}), true
same member(4, {1, 2, 3}), false

same regexp("Alain.*Roy", "Alain Aslag Roy"), true
same regexp("alain.*roy", "Alain Aslag Roy"), false
same regexp("alain.*roy", "Alain Aslag Roy", "i"), true

same regexpMember("b.*", {}), false
same regexpMember("b.*", {"aa"}), false
same regexpMember("b.*", {"aa", "bb"}), true
same regexpMember("b.*", {"bb", "aa"}), true
same regexpMember("b.*", {1, "bb"} ), error

eval t = absTime("1970-01-02T:03:04:05Z")
same splitTime($t).year, 1970
same splitTime($t).month, 1
same splitTime($t).day, 2
echo STATE: 		absTime("1970-01-02T:03:04:05Z")
echo EVALUATING: 	splitTime($t).hours, 3			
eval z = splitTime($t).hours
echo RESULT:		$z, 3
same splitTime($t).hours, 3			// FAIL
same splitTime($t).minutes, 4
same splitTime($t).seconds, 5
same splitTime($t).offset, 0

eval t = absTime("1970-01-02T:03:04:05-06:00")
eval tt = splitTime($t)
same splitTime($t).year, 1970
same splitTime($t).month, 1
same splitTime($t).day, 2
echo STATE:		absTime("1970-01-02T:03:04:05-06:00")
echo EVALUATING: 	splitTime($t).hours, 3
eval z = splitTime($t).hours
echo RESULT: 		$z, 3
same splitTime($t).hours, 3			// FAIL
same splitTime($t).minutes, 4
same splitTime($t).seconds, 5
same splitTime($t).offset, -21600

eval t = relTime("1d2h3m4.5s")
eval tt = splitTime($t)
same splitTime($t).days, 1
same splitTime($t).hours, 2
same splitTime($t).minutes, 3
same splittime($t).seconds, 4.5
eval tt = splitTime($t)

eval t = absTime("1997-08-30T16:04:05-0500")
eval f = formatTime($t, "%m %d %Y")
same $f, "08 30 1997"
eval f = formatTime($t, "%H %M %S")
same $f, "16 04 05"
eval f = formatTime($t, "%A %a")
same $f, "Saturday Sat"
eval f = formatTime($t, "%B %b")
same $f, "August Aug"
eval f = formatTime(splitTime($t), "%H:%M:%S")
same $f, "16:04:05"
eval f = formatTime($t)
same $f, "Sat Aug 30 16:04:05 1997"

same size({}), 0
same size({1}), 1
same size({1, 2, 3, 4, 5}), 5
same size([]), 0
same size([a = 1;]), 1
same size([a = 1; b = 2;]), 2
same size(""), 0
same size("a"), 1
same size("ab"), 2
same size(3), error
same size(3.4), error

eval list0 = {}
eval list1 = {1}
eval list5 = {1, 2, 3, 4, 5}

same sum($list0), undefined
same avg($list0), undefined
same min($list0), undefined
same max($list0), undefined
#### Do we really want these to be false and true?
same anycompare("<", $list0, 3), false
same allcompare("<", $list0, 3), true

same sum($list1), 1
same avg($list1), 1.0
same min($list1), 1
same max($list1), 1
same anycompare("<", $list1, 3), true
same allcompare("<", $list1, 3), true

same sum($list5), 15
same avg($list5), 3.0
same min($list5), 1
same max($list5), 5
same anycompare("<", $list5, 3), true
same allcompare("<", $list5, 3), false