1#!/bin/sh 2# 3# aegis - project change supervisor 4# Copyright (C) 2003-2008, 2012 Peter Miller 5# Copyright (C) 2008 Walter Franzini 6# 7# This program is free software; you can redistribute it and/or modify 8# it under the terms of the GNU General Public License as published by 9# the Free Software Foundation; either version 3 of the License, or 10# (at your option) any later version. 11# 12# This program is distributed in the hope that it will be useful, 13# but WITHOUT ANY WARRANTY; without even the implied warranty of 14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15# GNU General Public License for more details. 16# 17# You should have received a copy of the GNU General Public License 18# along with this program. If not, see 19# <http://www.gnu.org/licenses/>. 20# 21 22check_it() 23{ 24 sed -e "s|$work|...|g" \ 25 -e 's|= [0-9][0-9]*; /.*|= TIME;|' \ 26 -e "s/\"$USER\"/\"USER\"/g" \ 27 -e 's/19[0-9][0-9]/YYYY/' \ 28 -e 's/20[0-9][0-9]/YYYY/' \ 29 -e 's/node = ".*"/node = "NODE"/' \ 30 -e 's/crypto = ".*"/crypto = "GUNK"/' \ 31 -e 's/uuid = ".*"/uuid = "UUID"/' \ 32 < $2 > $work/sed.out 33 if test $? -ne 0; then no_result; fi 34 diff -b $1 $work/sed.out 35 if test $? -ne 0; then fail; fi 36} 37 38unset AEGIS_PROJECT 39unset AEGIS_CHANGE 40unset AEGIS_PATH 41unset AEGIS 42umask 022 43 44LINES=24 45export LINES 46COLS=80 47export COLS 48 49USER=${USER:-${LOGNAME:-`whoami`}} 50 51work=${AEGIS_TMP:-/tmp}/$$ 52PAGER=cat 53export PAGER 54AEGIS_FLAGS="delete_file_preference = no_keep; \ 55 lock_wait_preference = always; \ 56 diff_preference = automatic_merge; \ 57 pager_preference = never; \ 58 persevere_preference = all; \ 59 log_file_preference = never;" 60export AEGIS_FLAGS 61AEGIS_THROTTLE=-1 62export AEGIS_THROTTLE 63 64here=`pwd` 65if test $? -ne 0 ; then exit 2; fi 66 67bin=$here/${1-.}/bin 68 69if test "$EXEC_SEARCH_PATH" != "" 70then 71 tpath= 72 hold="$IFS" 73 IFS=":$IFS" 74 for tpath2 in $EXEC_SEARCH_PATH 75 do 76 tpath=${tpath}${tpath2}/${1-.}/bin: 77 done 78 IFS="$hold" 79 PATH=${tpath}${PATH} 80else 81 PATH=${bin}:${PATH} 82fi 83export PATH 84 85pass() 86{ 87 set +x 88 echo PASSED 1>&2 89 cd $here 90 find $work -type d -user $USER -exec chmod u+w {} \; 91 rm -rf $work 92 exit 0 93} 94fail() 95{ 96 set +x 97 echo "FAILED test of the aet -reg functionality ($activity)" 1>&2 98 cd $here 99 find $work -type d -user $USER -exec chmod u+w {} \; 100 rm -rf $work 101 exit 1 102} 103no_result() 104{ 105 set +x 106 echo "NO RESULT when testing the aet -reg functionality" \ 107 "($activity)" 1>&2 108 cd $here 109 find $work -type d -user $USER -exec chmod u+w {} \; 110 rm -rf $work 111 exit 2 112} 113trap \"no_result\" 1 2 3 15 114 115activity="create test directory 101" 116mkdir $work $work/lib 117if test $? -ne 0 ; then no_result; fi 118chmod 777 $work/lib 119if test $? -ne 0 ; then no_result; fi 120cd $work 121if test $? -ne 0 ; then no_result; fi 122 123# 124# use the built-in error messages 125# 126AEGIS_MESSAGE_LIBRARY=$work/no-such-dir 127export AEGIS_MESSAGE_LIBRARY 128unset LANG 129unset LANGUAGE 130 131# 132# test the aet -reg functionality 133# 134 135# 136# This shell reproduces a bug in aegis 4.11, whereby a file which has been 137# removed and then reinstated causes test_main() to not be able to "locate" 138# files in the baseline, that are alphabetically later than the 139# removed/reinstated file. 140# 141# Someone wanting to run this script should check theProject and 142# theLib names specified below, as well as the projectDir/libDir variables 143# to ensure that they are OK for their system. 144# 145# This script will write a couple of temporary files to the user's home 146# directory (they are deleted at the end). 147# 148# Basically, what this script does is: 149# 1. Create a project with a 1.0 branch. 150# 2. Create a changeset that adds a aegis.conf file. Develop and integrate. 151# 3. Create a changeset that adds a test and a hosttest source file. D & I. 152# 4. Roll in the 1.0 branch. 153# 5. Create a 1.1 branch. 154# 6. Create a changeset that deletes the hosttest. D & I. 155# 7. Create a changeset that "aenf's" the same hosttest. Develop, but 156# integration "aet -reg" does not work (cannot find the test). 157# 158# I've found that if the hosttest is created, removed and reinstated all 159# within the same branch, this bug does not happen (the branch rollin 160# described above is required). 161# 162# This shell script is a bit verbose -- I could have put more effort into 163# putting duplicated code into functions. Oh well. 164# 165 166# Set up some variables for use below 167theProject=foo 168projectDir=$work/$theProject 169libDir=$work/lib 170chanDir=$work/chan-dev-dir 171 172AEGIS_PATH=$AEGIS_PATH:$libDir 173export AEGIS_PATH 174 175activity="create project 161" 176# Write the project attributes file 177cat > projAttributes << 'EOF' 178description="Test project"; 179developer_may_review = true; 180developer_may_integrate = true; 181reviewer_may_integrate = true; 182developers_may_create_changes = true; 183umask = 022; 184default_test_exemption = false; 185minimum_change_number = 10; 186reuse_change_numbers = true; 187minimum_branch_number = 1; 188skip_unlucky = false; 189compress_database = false; 190develop_end_action = goto_awaiting_integration; 191protect_development_directory = false; 192EOF 193if test $? -ne 0 ; then no_result; fi 194 195# Create the project 196$bin/aegis -npr $theProject -dir $projectDir -LIB $libDir -file projAttributes \ 197 -v > LOG 2>&1 198if test $? -ne 0 ; then cat LOG; no_result; fi 199 200AEGIS_PROJECT=$theProject.1.0 201export AEGIS_PROJECT 202 203# Add staff 204activity="add staff 190" 205$bin/aegis -nd $USER -v > LOG 2>&1 206if test $? -ne 0 ; then cat LOG; no_result; fi 207 208$bin/aegis -nrv $USER -v > LOG 2>&1 209if test $? -ne 0 ; then cat LOG; no_result; fi 210 211$bin/aegis -ni $USER -v -p $theProject.1.0 > LOG 2>&1 212if test $? -ne 0 ; then cat LOG; no_result; fi 213 214$bin/aegis -ni $USER -v -p $theProject.1 > LOG 2>&1 215if test $? -ne 0 ; then cat LOG; no_result; fi 216 217###### Create the first change -- adds aegis.conf file ###### 218 219# Attributes common to all changesets 220cat > commonChangeAttributes << 'EOF' 221cause = internal_bug; 222test_exempt = true; 223test_baseline_exempt = true; 224regression_test_exempt = true; 225EOF 226if test $? -ne 0 ; then no_result; fi 227 228activity="new change 214" 229cat > changeAttributes << 'EOF' 230description = "Change 1 - create aegis.conf"; 231brief_description = "Change 1 - create aegis.conf"; 232EOF 233if test $? -ne 0 ; then no_result; fi 234 235# Add the common attibutes 236cat commonChangeAttributes >> changeAttributes 237if test $? -ne 0 ; then no_result; fi 238 239$bin/aegis -nc 10 -file changeAttributes -p $theProject.1.0 -v > LOG 2>&1 240if test $? -ne 0 ; then cat LOG; no_result; fi 241 242activity="develop begin 228" 243$bin/aegis -db 10 -v -dir $chanDir > LOG 2>&1 244if test $? -ne 0 ; then cat LOG; no_result; fi 245 246# Add the aegis.conf file 247activity="new file 233" 248$bin/aegis -nf $chanDir/aegis.conf -v -c 10 > LOG 2>&1 249if test $? -ne 0 ; then cat LOG; no_result; fi 250 251cat > $chanDir/aegis.conf << 'EOF' 252build_command = "exit 0"; 253link_integration_directory = true; 254 255history_get_command = "aesvt -check-out -edit ${quote $edit} " 256 "-history ${quote $history} -f ${quote $output}"; 257history_put_command = "aesvt -check-in -history ${quote $history} " 258 "-f ${quote $input}"; 259history_query_command = "aesvt -query -history ${quote $history}"; 260history_content_limitation = binary_capable; 261 262diff_command = 263 "set +e; " 264 "diff ${quote $original} ${quote $input} > ${quote $output}; " 265 "test $? -le 1"; 266merge_command = 267 "fmerge $original $MostRecent $input -o $output -c /dev/null"; 268posix_filename_charset = true; 269maximum_filename_length = 255; 270change_file_command = "rm -f etc/cook/change.[0-9]* etc/cook/project.[0-9]*"; 271project_file_command = "rm -f etc/cook/project.[0-9]*"; 272integrate_begin_command = "rm -f etc/cook/project.[0-9]* \ 273etc/version.h etc/statistics/*.stats"; 274develop_begin_command = "ln -s $bl bl; ln -s bl/.indent.pro .indent.pro"; 275test_command = "$shell $filename"; 276new_test_filename = "test/${zpad $hundred 2}/t${zpad $number 4}.sh"; 277EOF 278if test $? -ne 0 ; then no_result; fi 279 280# build 281activity="build 266" 282$bin/aegis -build -c 10 -v > LOG 2>&1 283if test $? -ne 0 ; then cat LOG; no_result; fi 284 285# diff 286activity="diff 271" 287$bin/aegis -diff -c 10 -v > LOG 2>&1 288if test $? -ne 0 ; then cat LOG; no_result; fi 289 290# develop end 291activity="develop end 276" 292$bin/aegis -de -c 10 -v > LOG 2>&1 293if test $? -ne 0 ; then cat LOG; no_result; fi 294 295# integrate 296activity="integrate begin 281" 297$bin/aegis -ib -c 10 -v > LOG 2>&1 298if test $? -ne 0 ; then cat LOG; no_result; fi 299 300activity="integrate build 285" 301$bin/aegis -build -c 10 -v > LOG 2>&1 302if test $? -ne 0 ; then cat LOG; no_result; fi 303 304activity="integrate diff 289" 305$bin/aegis -diff -c 10 -v > LOG 2>&1 306if test $? -ne 0 ; then cat LOG; no_result; fi 307 308activity="integrate pass 293" 309$bin/aegis -ipass -c 10 -v > LOG 2>&1 310if test $? -ne 0 ; then cat LOG; no_result; fi 311 312 313###### Create the second change -- add a test and a hosttest source file ###### 314 315activity="new change 300" 316cat > changeAttributes << 'EOF' 317description = "Change 2 - add test and hosttest source"; 318brief_description = "Change 2"; 319EOF 320if test $? -ne 0 ; then no_result; fi 321 322# Add the common attributes 323cat commonChangeAttributes >> changeAttributes 324if test $? -ne 0 ; then no_result; fi 325 326$bin/aegis -nc 11 -file changeAttributes -p $theProject.1.0 -v > LOG 2>&1 327if test $? -ne 0 ; then cat LOG; no_result; fi 328 329activity="develop begin 314" 330$bin/aegis -db 11 -v -dir $chanDir > LOG 2>&1 331if test $? -ne 0 ; then cat LOG; no_result; fi 332 333activity="new test 318" 334$bin/aegis -nt $chanDir/test/00/t0001a.sh -v > LOG 2>&1 335if test $? -ne 0 ; then cat LOG; no_result; fi 336 337cat > $chanDir/test/00/t0001a.sh << 'EOF' 338#!/bin/sh 339exit 0 340EOF 341if test $? -ne 0 ; then no_result; fi 342 343activity="new file 328" 344$bin/aegis -nf $chanDir/hosttest/0001/main.cc -v > LOG 2>&1 345if test $? -ne 0 ; then cat LOG; no_result; fi 346 347cat > $chanDir/hosttest/0001/main.cc << EOF 348Does not matter what is in here. 349EOF 350if test $? -ne 0 ; then no_result; fi 351 352# turn off "test -bl" 353activity="change attributes 338" 354$bin/aegis -ca -file changeAttributes -c 11 > LOG 2>&1 355if test $? -ne 0 ; then cat LOG; no_result; fi 356 357# build 358activity="build 345" 359$bin/aegis -build -c 11 -v > LOG 2>&1 360if test $? -ne 0 ; then cat LOG; no_result; fi 361 362# diff 363activity="diff 350" 364$bin/aegis -diff -c 11 -v > LOG 2>&1 365if test $? -ne 0 ; then cat LOG; no_result; fi 366 367# test 368activity="test 355" 369$bin/aegis -test -c 11 -v > LOG 2>&1 370if test $? -ne 0 ; then cat LOG; no_result; fi 371 372# develop end 373activity="develop end 360" 374$bin/aegis -de -c 11 -v > LOG 2>&1 375if test $? -ne 0 ; then cat LOG; no_result; fi 376 377# integrate 378activity="integrate begin 365" 379$bin/aegis -ib -c 11 -v > LOG 2>&1 380if test $? -ne 0 ; then cat LOG; no_result; fi 381 382activity="integrate build 369" 383$bin/aegis -build -c 11 -v > LOG 2>&1 384if test $? -ne 0 ; then cat LOG; no_result; fi 385 386activity="integrate diff 373" 387$bin/aegis -diff -c 11 -v > LOG 2>&1 388if test $? -ne 0 ; then cat LOG; no_result; fi 389 390activity="integrate test 377" 391$bin/aegis -test -c 11 -v > LOG 2>&1 392if test $? -ne 0 ; then cat LOG; no_result; fi 393 394activity="integrate pass 381" 395$bin/aegis -ipass -c 11 -v > LOG 2>&1 396if test $? -ne 0 ; then cat LOG; no_result; fi 397 398# Roll in the branch 399activity="branch develop end 386" 400$bin/aegis -de -c 0 -p $theProject.1 -v > LOG 2>&1 401if test $? -ne 0 ; then cat LOG; no_result; fi 402 403activity="branch integrate begin 390" 404$bin/aegis -ib -c 0 -p $theProject.1 -v > LOG 2>&1 405if test $? -ne 0 ; then cat LOG; no_result; fi 406 407activity="branch integrate build 394" 408$bin/aegis -build -c 0 -p $theProject.1 -v > LOG 2>&1 409if test $? -ne 0 ; then cat LOG; no_result; fi 410 411activity="branch integrate diff 398" 412$bin/aegis -diff -c 0 -p $theProject.1 -v > LOG 2>&1 413if test $? -ne 0 ; then cat LOG; no_result; fi 414 415activity="branch integrate pass 402" 416$bin/aegis -ipass -c 0 -p $theProject.1 -v > LOG 2>&1 417if test $? -ne 0 ; then cat LOG; no_result; fi 418 419 420###### Create a new branch ###### 421 422activity="new branch 409" 423$bin/aegis -nbr 1 -p $theProject.1 -v > LOG 2>&1 424if test $? -ne 0 ; then cat LOG; no_result; fi 425 426activity="branch staff 413" 427$bin/aegis -nd $USER -p $theProject.1.1 -v > LOG 2>&1 428if test $? -ne 0 ; then cat LOG; no_result; fi 429 430AEGIS_PROJECT=$theProject.1.1 431export AEGIS_PROJECT 432 433###### Create a new change -- removes the hosttest ###### 434 435activity="new change 422" 436cat > changeAttributes << 'EOF' 437description = "Change 1 -- removes the hosttest"; 438brief_description = "Change 1"; 439EOF 440if test $? -ne 0 ; then no_result; fi 441 442# Add the common attributes 443sed 's/regression_test_exempt = true/regression_test_exempt = false/' \ 444 commonChangeAttributes >> changeAttributes 445if test $? -ne 0 ; then no_result; fi 446 447$bin/aegis -nc 10 -file changeAttributes -p $theProject.1.1 -v > LOG 2>&1 448if test $? -ne 0 ; then cat LOG; no_result; fi 449 450activity="develop begin 437" 451$bin/aegis -db 10 -v -dir $chanDir > LOG 2>&1 452if test $? -ne 0 ; then cat LOG; no_result; fi 453 454activity="remove file 441" 455$bin/aegis -rm $chanDir/hosttest/0001/main.cc > LOG 2>&1 456if test $? -ne 0 ; then cat LOG; no_result; fi 457 458# build 459activity="build 448" 460$bin/aegis -build -c 10 -v > LOG 2>&1 461if test $? -ne 0 ; then cat LOG; no_result; fi 462 463# diff 464activity="diff 453" 465$bin/aegis -diff -c 10 -v > LOG 2>&1 466if test $? -ne 0 ; then cat LOG; no_result; fi 467 468# test -reg 469activity="test -reg 458" 470$bin/aegis -test -reg -c 10 -v > LOG 2>&1 471if test $? -ne 0 ; then cat LOG; no_result; fi 472 473# develop end 474activity="develop end 463" 475$bin/aegis -de -c 10 -v > LOG 2>&1 476if test $? -ne 0 ; then cat LOG; no_result; fi 477 478# integrate 479activity="integrate begin 468" 480$bin/aegis -ib -c 10 -v > LOG 2>&1 481if test $? -ne 0 ; then cat LOG; no_result; fi 482 483activity="integrate build 472" 484$bin/aegis -build -c 10 -v > LOG 2>&1 485if test $? -ne 0 ; then cat LOG; no_result; fi 486 487activity="integrate diff 476" 488$bin/aegis -diff -c 10 -v > LOG 2>&1 489if test $? -ne 0 ; then cat LOG; no_result; fi 490 491activity="integrate test reg 480" 492$bin/aegis -test -reg -c 10 -v > LOG 2>&1 493if test $? -ne 0 ; then cat LOG; no_result; fi 494 495activity="integrate pass 484" 496$bin/aegis -ipass -c 10 -v > LOG 2>&1 497if test $? -ne 0 ; then cat LOG; no_result; fi 498 499###### Create a new change -- reinstates the removed hosttest file ###### 500 501activity="new change 490" 502cat > changeAttributes << EOF 503description = "Change 2 - reinstates the removed hosttest"; 504brief_description = "Change 2"; 505EOF 506if test $? -ne 0 ; then no_result; fi 507 508# Add the common attributes 509sed 's/regression_test_exempt = true/regression_test_exempt = false/' \ 510 commonChangeAttributes >> changeAttributes 511if test $? -ne 0 ; then no_result; fi 512 513$bin/aegis -nc 11 -file changeAttributes -p $theProject.1.1 -v > LOG 2>&1 514if test $? -ne 0 ; then cat LOG; no_result; fi 515 516activity="develop begin 505" 517$bin/aegis -db 11 -v -dir $chanDir > LOG 2>&1 518if test $? -ne 0 ; then cat LOG; no_result; fi 519 520activity="new file 509" 521$bin/aegis -nf $chanDir/hosttest/0001/main.cc -c 11 -v > LOG 2>&1 522if test $? -ne 0 ; then cat LOG; no_result; fi 523 524# Write to the hosttest 525cat > $chanDir/hosttest/0001/main.cc << EOF 526Reinstated hosttest 527EOF 528if test $? -ne 0 ; then no_result; fi 529 530# build 531activity="build 522" 532$bin/aegis -build -c 11 -v > LOG 2>&1 533if test $? -ne 0 ; then cat LOG; no_result; fi 534 535# diff 536activity="diff 527" 537$bin/aegis -diff -c 11 -v > LOG 2>&1 538if test $? -ne 0 ; then cat LOG; no_result; fi 539 540# test -reg 541activity="test reg 532" 542$bin/aegis -test -reg -c 11 -v > LOG 2>&1 543if test $? -ne 0 ; then cat LOG; no_result; fi 544 545action="check project file state" 546cat > ok << 'EOF' 547src = 548[ 549 { 550 file_name = "aegis.conf"; 551 uuid = "UUID"; 552 action = create; 553 edit = 554 { 555 revision = "2"; 556 encoding = none; 557 uuid = "UUID"; 558 }; 559 edit_origin = 560 { 561 revision = "2"; 562 encoding = none; 563 uuid = "UUID"; 564 }; 565 usage = config; 566 file_fp = 567 { 568 youngest = TIME; 569 oldest = TIME; 570 crypto = "GUNK"; 571 }; 572 diff_file_fp = 573 { 574 youngest = TIME; 575 oldest = TIME; 576 crypto = "GUNK"; 577 }; 578 }, 579 { 580 file_name = "hosttest/0001/main.cc"; 581 uuid = "UUID"; 582 action = create; 583 edit = 584 { 585 revision = "2"; 586 encoding = none; 587 uuid = "UUID"; 588 }; 589 edit_origin = 590 { 591 revision = "2"; 592 encoding = none; 593 uuid = "UUID"; 594 }; 595 usage = source; 596 file_fp = 597 { 598 youngest = TIME; 599 oldest = TIME; 600 crypto = "GUNK"; 601 }; 602 diff_file_fp = 603 { 604 youngest = TIME; 605 oldest = TIME; 606 crypto = "GUNK"; 607 }; 608 test = 609 [ 610 "test/00/t0001a.sh", 611 ]; 612 }, 613 { 614 file_name = "test/00/t0001a.sh"; 615 uuid = "UUID"; 616 action = create; 617 edit = 618 { 619 revision = "2"; 620 encoding = none; 621 uuid = "UUID"; 622 }; 623 edit_origin = 624 { 625 revision = "2"; 626 encoding = none; 627 uuid = "UUID"; 628 }; 629 usage = test; 630 file_fp = 631 { 632 youngest = TIME; 633 oldest = TIME; 634 crypto = "GUNK"; 635 }; 636 diff_file_fp = 637 { 638 youngest = TIME; 639 oldest = TIME; 640 crypto = "GUNK"; 641 }; 642 }, 643]; 644EOF 645if test $? -ne 0 ; then no_result; fi 646 647check_it ok $projectDir/info/change/0/001.fs 648 649cat > ok << 'EOF' 650src = 651[ 652 { 653 file_name = "hosttest/0001/main.cc"; 654 uuid = "UUID"; 655 action = remove; 656 edit = 657 { 658 revision = "2"; 659 encoding = none; 660 uuid = "UUID"; 661 }; 662 edit_origin = 663 { 664 revision = "2"; 665 encoding = none; 666 uuid = "UUID"; 667 }; 668 usage = source; 669 diff_file_fp = 670 { 671 youngest = TIME; 672 oldest = TIME; 673 crypto = "GUNK"; 674 }; 675 deleted_by = 10; 676 test = 677 [ 678 "test/00/t0001a.sh", 679 ]; 680 }, 681]; 682EOF 683check_it ok $projectDir/info/change/0/001.branch/0/001.fs 684 685# develop end 686activity="develop end 669" 687$bin/aegis -de -c 11 -v > LOG 2>&1 688if test $? -ne 0 ; then cat LOG; no_result; fi 689 690action="check project file state" 691cat > ok << 'EOF' 692src = 693[ 694 { 695 file_name = "hosttest/0001/main.cc"; 696 uuid = "UUID"; 697 action = remove; 698 edit = 699 { 700 revision = "2"; 701 encoding = none; 702 uuid = "UUID"; 703 }; 704 edit_origin = 705 { 706 revision = "2"; 707 encoding = none; 708 uuid = "UUID"; 709 }; 710 usage = source; 711 diff_file_fp = 712 { 713 youngest = TIME; 714 oldest = TIME; 715 crypto = "GUNK"; 716 }; 717 locked_by = 11; 718 deleted_by = 10; 719 test = 720 [ 721 "test/00/t0001a.sh", 722 ]; 723 }, 724]; 725EOF 726if test $? -ne 0 ; then no_result; fi 727 728check_it ok $projectDir/info/change/0/001.branch/0/001.fs 729 730# integrate 731activity="integrate begin 712" 732$bin/aegis -ib -c 11 -v > LOG 2>&1 733if test $? -ne 0 ; then cat LOG; no_result; fi 734 735activity="integrate build 716" 736$bin/aegis -build -c 11 -v > LOG 2>&1 737if test $? -ne 0 ; then cat LOG; no_result; fi 738 739activity="integrate diff 720" 740$bin/aegis -diff -c 11 -v > LOG 2>&1 741if test $? -ne 0 ; then cat LOG; no_result; fi 742 743#### The test -reg command will fail, if the bug is present. #### 744 745activity="integrate test reg 726" 746$bin/aegis -test -reg -c 11 -v \ 747 --trace aet change file nth find list_get \ 748 > LOG 2>&1 749if test $? -ne 0 ; then cat LOG; fail; fi 750 751# 752# Only definite negatives are possible. 753# The functionality exercised by this test appears to work, 754# no other guarantees are made. 755# 756pass 757 758 759# vim: set ts=8 sw=4 et : 760