Ignore:
Timestamp:
2023-09-09T22:23:24+12:00 (8 months ago)
Author:
anupama
Message:

CDS-ISIS test collection diff issues on Mac: CAPS suffixes were generated for filenames listed in archiveinf-src and archiveinf-doc of Mac test CDS-ISIS collection, and didn't compare successfully against its Linux model collection. So some extra processing to normalise the Mac collection's archiveinf files.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • other-projects/nightly-tasks/diffcol/trunk/diffcol/flatdbdiff.pm

    r36877 r38071  
    118118   
    119119    if($testIsWin == $modelIsWin) {     
    120     # both linux or both windows, do the basic test we did on linux machines:
     120    # both unix or both windows, do the basic test we did on linux machines:
    121121            # ignore absolute path prefixes in modelcol and testcol (necessary for archiveinf-doc and -src.gdb files)
    122122
     
    133133            $test_text =~ s@^([^\\/]*(//)*).*(\\|/)(collect(\\|/)$strColName)(.*)$@$1$4$6@mg;
    134134            #$model_text =~ s@^([^\\//]*).*(\\|/)(collect(\\|/)$strColName)(.*)$@$1$3$5@mg;         
    135             #$test_text =~ s@^([^\\//]*).*(\\|/)(collect(\\|/)$strColName)(.*)$@$1$3$5@mg;                     
     135            #$test_text =~ s@^([^\\//]*).*(\\|/)(collect(\\|/)$strColName)(.*)$@$1$3$5@mg;
     136
     137            # File extensions on darwin may be listed in archiveinf-src|doc as CAPS, make them lowercase. This problem popped up in CDS-ISIS collection
     138            if($test_os =~ m/darwin/ && $dbname =~ m/archiveinf-/) {
     139               
     140                my $collection_path = $strTestCol; # full path to a windows collection
     141                my $tmp = ""; # rebuild darwin test file's set of lines after processing them one by one
     142
     143                for my $line (split /^/, $test_text) { # split the string into newlines
     144                if($line =~ m/\@THISCOLLECTPATH\@[^\.]*\.([^\.]+)/s) {
     145
     146                    my $file_suffix = $1;
     147
     148                    if(!defined $file_suffix || $file_suffix eq "") {
     149                    next;
     150                    }
     151                    # there can be a mixture of lowercase and uppercase suffixes if test_os is darwin, so don't skip processing any line
     152                    #if($file_suffix !~ m/[A-Z]+/) { # if there are all caps suffixes, it will be consistently so in the DB file, if not skip lowercasing them
     153                    #last;
     154                    #}
     155                   
     156                    my $lc_suffix = lc($file_suffix); # lowercase it
     157
     158                    $line =~ s/$file_suffix$/$lc_suffix/; #$line =~ s/(\@THISCOLLECTPATH\@[^\.]*\.)($file_suffix)/$1$lc_suffix/;
     159                }
     160                $tmp .= $line; # don't need to add a newline at end
     161                }
     162
     163                if($tmp ne "") {
     164                $test_text = $tmp;
     165                #print STDERR "NEW FILE:\n************\n$test_text\n***********\n";
     166
     167                # need to re- sort the keys, now that the absolute paths to tmp locations has been removed
     168                # so that we get the files in the same order as the model collection               
     169               
     170                $test_text = text_to_db_to_text($test_text, "test.gdb");
     171                }
     172            }
    136173    }
    137174   
     
    238275   
    239276    # Windows or linux: if index is a flat db file, then ensure the docIDs listed in <contains> field of
    240     # both test and model flat db file are alphabetically sorted. So to the numbers in <mdoffset> field.
     277    # both test and model flat db file are alphabetically sorted. So too the numbers in <mdoffset> field.
    241278    # Despite PERL_PERTURB_KEYS envvar being set to 0 on both machine when generating model collections
    242279    # and when test collections were generated on test machine, still collections like Images-GPS and some
Note: See TracChangeset for help on using the changeset viewer.