Overview
Context
Changes
Modified db.scm
from [cc06b656a5]
to [b9074674d0].
︙ | | |
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
|
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
|
+
|
(set! res (cons (vector id itempath state status run_duration logf comment) res)))
db
"SELECT id,item_path,state,status,run_duration,final_logf,comment FROM tests WHERE run_id=? AND testname=? AND item_path != '';"
run-id test-name)
res))
;; Rollup the pass/fail counts from itemized tests into fail_count and pass_count
;; NOTE: Is this duplicating (db:test-data-rollup db test-id status) ????
(define (db:roll-up-pass-fail-counts db run-id test-name item-path status)
;; (cdb:flush-queue *runremote*)
(if (and (not (equal? item-path ""))
(member status '("PASS" "WARN" "FAIL" "WAIVED" "RUNNING" "CHECK" "SKIP")))
(begin
(sqlite3:execute
db
|
︙ | | |
Added tests/fslsync/megatest.config version [44954ebfef].
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
[fields]
YEAR TEXT
WEEKNUM TEXT
DAY TEXT
[setup]
# Adjust max_concurrent_jobs to limit how much you load your machines
max_concurrent_jobs 50
# This is your link path, you can move it but it is generally better to keep it stable
linktree #{shell readlink -f #{getenv PWD}/fslsynclinks}
# Job tools are more advanced ways to control how your jobs are launched
[jobtools]
useshell yes
launcher nbfind
# As you run more tests you may need to add additional disks, the names are arbitrary but must be unique
[disks]
disk0 #{shell readlink -f #{getenv PWD}/fslsyncruns}
|
| | | | | | | | | | | | | | | | | | |
Added tests/fslsync/runconfigs.config version [37454bf970].
|
1
2
3
4
5
|
+
+
+
+
+
|
[default]
WORKAREA /tmp/#{getenv USER}/fslsync
FSLSAREA /tmp/#{getenv USER}/fsls
AREANAMES code data
SITENAMES zeus xena
|
| | | |
Added tests/fslsync/tests/setup/mkdirs.logpro version [e453c6e331].
|
1
2
3
4
5
6
7
8
|
+
+
+
+
+
+
+
+
|
;; You should have at least one expect:required. This ensures that your process ran
(expect:required in "LogFileBody" > 0 "done" #/done/)
;; You may need ignores to suppress false error or warning hits from the later expects
;; NOTE: Order is important here!
(expect:ignore in "LogFileBody" < 99 "Ignore the word error in comments" #/^\/\/.*error/)
(expect:warning in "LogFileBody" = 0 "Any warning" #/warn/)
(expect:error in "LogFileBody" = 0 "Any error" (list #/ERROR/ #/error/)) ;; but disallow any other errors
|
| | | | | | |
Added tests/fslsync/tests/setup/mkdirs.sh version [5b853fc39d].
|
1
2
3
4
5
6
7
8
9
10
11
|
+
+
+
+
+
+
+
+
+
+
+
|
#!/usr/bin/env bash
# Create needed directories both local and remote
# Remote
ssh $SITENAME mkdir -vp $WORKAREA/$SITENAME/$AREANAME
# Local
mkdir -vp $WORKAREA/$SITENAME/$AREANAME
echo done
|
| | | | | | | | | |
Added tests/fslsync/tests/setup/seedcache.logpro version [e453c6e331].
|
1
2
3
4
5
6
7
8
|
+
+
+
+
+
+
+
+
|
;; You should have at least one expect:required. This ensures that your process ran
(expect:required in "LogFileBody" > 0 "done" #/done/)
;; You may need ignores to suppress false error or warning hits from the later expects
;; NOTE: Order is important here!
(expect:ignore in "LogFileBody" < 99 "Ignore the word error in comments" #/^\/\/.*error/)
(expect:warning in "LogFileBody" = 0 "Any warning" #/warn/)
(expect:error in "LogFileBody" = 0 "Any error" (list #/ERROR/ #/error/)) ;; but disallow any other errors
|
| | | | | | |
Added tests/fslsync/tests/setup/seedcache.sh version [a18d5e99f5].
|
1
2
3
4
5
6
|
+
+
+
+
+
+
|
#!/usr/bin/env bash
# Copy any non-existant files to the cache before doing the rsync
# in the hopes of saving some time.
echo done
|
| | | | |
Added tests/fslsync/tests/setup/testconfig version [3c9aac8422].
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
# Add additional steps here. Format is "stepname script"
[ezsteps]
mkdirs mkdirs.sh
seedcache seedcache.sh
# Test requirements are specified here
[requirements]
priority 0
# Iteration for your tests are controlled by the items section
[items]
AREANAME #{getenv AREANAMES}
SITENAME #{getenv SITENAMES}
# test_meta is a section for storing additional data on your test
[test_meta]
author matt
owner matt
description Setup needed directories and seed the caches
tags tagone,tagtwo
reviewed never
|
| | | | | | | | | | | | | | | | | | | |
Added tests/fslsync/tests/sync/fsync.logpro version [e453c6e331].
|
1
2
3
4
5
6
7
8
|
+
+
+
+
+
+
+
+
|
;; You should have at least one expect:required. This ensures that your process ran
(expect:required in "LogFileBody" > 0 "done" #/done/)
;; You may need ignores to suppress false error or warning hits from the later expects
;; NOTE: Order is important here!
(expect:ignore in "LogFileBody" < 99 "Ignore the word error in comments" #/^\/\/.*error/)
(expect:warning in "LogFileBody" = 0 "Any warning" #/warn/)
(expect:error in "LogFileBody" = 0 "Any error" (list #/ERROR/ #/error/)) ;; but disallow any other errors
|
| | | | | | |
Added tests/fslsync/tests/sync/fsync.sh version [bf21db2120].
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
#!/usr/bin/env bash
# Get the list of fossils from the cache
FILES=$(ls $FSLSAREA/$AREANAME|grep fossil)
# Do the remote sync from CACHE to FOSSILS
ssh $SITENAME /bin/bash <<EOF
for f in $FILES;do
FOSSLF=$FSLSAREA/$AREANAME/\$f
CACHEF=$WORKAREA/$SITENAME/
if [ ! -e \$FOSSLF ];then
cp \$CACHEF \$FOSSLF
chmod ug+rw \$FOSSLF
elif [ \$CACHEF -nt \$FOSSLF ];then
fossil pull -R \$FOSSLF \$CACHEF
fi
done
EOF
# Do the local sync
for f in $FILES;do
FOSSLF=$FSLSAREA/$AREANAME/\$f
CACHEF=$WORKAREA/$SITENAME/
if [ ! -e \$FOSSLF ];then
cp \$CACHEF \$FOSSLF
chmod ug+rw \$FOSSLF
elif [ \$CACHEF -nt \$FOSSLF ];then
fossil pull -R \$FOSSLF \$CACHEF
fi
done
echo done
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
Added tests/fslsync/tests/sync/rsync.logpro version [e453c6e331].
|
1
2
3
4
5
6
7
8
|
+
+
+
+
+
+
+
+
|
;; You should have at least one expect:required. This ensures that your process ran
(expect:required in "LogFileBody" > 0 "done" #/done/)
;; You may need ignores to suppress false error or warning hits from the later expects
;; NOTE: Order is important here!
(expect:ignore in "LogFileBody" < 99 "Ignore the word error in comments" #/^\/\/.*error/)
(expect:warning in "LogFileBody" = 0 "Any warning" #/warn/)
(expect:error in "LogFileBody" = 0 "Any error" (list #/ERROR/ #/error/)) ;; but disallow any other errors
|
| | | | | | |
Added tests/fslsync/tests/sync/rsync.sh version [035d9817f0].
|
1
2
3
4
5
6
7
8
9
10
11
|
+
+
+
+
+
+
+
+
+
+
+
|
#!/usr/bin/env bash
# Sync to remote cache
rsync -avz $FSLSAREA/$AREANAME/ $SITENAME:$WORKAREA/$SITENAME/$AREANAME/ &
# Sync to local cache
rsync -avz $SITENAME:$FSLSAREA/$AREANAME/ $WORKAREA/$SITENAME/$AREANAME/ &
# Wait until rsyncs complete
wait
echo done
|
| | | | | | | | | |
Added tests/fslsync/tests/sync/testconfig version [518d98790f].
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
# Add additional steps here. Format is "stepname script"
[ezsteps]
rsync rsync.sh
fsync fsync.sh
# Test requirements are specified here
[requirements]
waiton setup
priority 0
# Iteration for your tests are controlled by the items section
[items]
AREANAME #{getenv AREANAMES}
SITENAME #{getenv SITENAMES}
# test_meta is a section for storing additional data on your test
[test_meta]
author matt
owner matt
description Sync fossils to remote
tags tagone,tagtwo
reviewed never
|
| | | | | | | | | | | | | | | | | | | | |