0023905: Clean obsolete test commands
authorabv <abv@opencascade.com>
Thu, 18 Apr 2013 14:41:45 +0000 (18:41 +0400)
committerbugmaster <bugmaster@opencascade.com>
Fri, 19 Apr 2013 06:50:58 +0000 (10:50 +0400)
In parallel mode, limit number of jobs in the queue to avoid slowdown occurring with long queues
Obsolete DRAW tools removed
Improvement of processing of test log:
- log is collected as list and not as string for better performance
- short table of test cases (TOC) is added in HTML log
- algorithm to combine test cases in one row in HTML log is improved to avoid long lines (group bugs)
Parse rules corrected to ignore irrelevant debug messages, and to correctly report tests 3rdparty export as skipped or BAD when Gl2Ps is missing or is built in incompatible mode on windows
Tests corrected to pass in Debug mode on Windows

124 files changed:
src/DrawResources/BuildWorkbench.tcl [deleted file]
src/DrawResources/Consultation.tcl [deleted file]
src/DrawResources/DIFF.c [deleted file]
src/DrawResources/DrawDefault
src/DrawResources/FILES
src/DrawResources/Filtre.c [deleted file]
src/DrawResources/Grille.tcl [deleted file]
src/DrawResources/QARebuildCommands [deleted file]
src/DrawResources/TestCommands.tcl
src/DrawResources/TestDraw.cxx [deleted file]
src/DrawResources/Tests.tcl [deleted file]
src/DrawResources/mdltest [deleted file]
src/DrawResources/test2xl [deleted file]
src/DrawResources/vmdltest [deleted file]
src/QADraw/QADraw.cdl
src/QADraw/QADraw.cxx
src/ViewerTest/ViewerTest_ViewerCommands.cxx
tests/3rdparty/export/begin [new file with mode: 0644]
tests/3rdparty/parse.rules [new file with mode: 0644]
tests/bugs/begin
tests/bugs/caf/bug1724
tests/bugs/fclasses/bug6143
tests/bugs/fclasses/bug7287_1
tests/bugs/fclasses/bug7287_2
tests/bugs/fclasses/bug7287_3
tests/bugs/fclasses/bug7287_4
tests/bugs/fclasses/bug7287_5
tests/bugs/fclasses/bug7287_6
tests/bugs/modalg_1/bug19793_2
tests/bugs/modalg_2/bug20297_1
tests/bugs/modalg_2/bug20297_2
tests/bugs/modalg_2/bug20297_3
tests/bugs/modalg_2/bug20297_4
tests/bugs/modalg_2/bug20297_5
tests/bugs/modalg_2/bug20964_1
tests/bugs/modalg_2/bug20964_2
tests/bugs/modalg_2/bug20964_3
tests/bugs/modalg_2/bug20964_4
tests/bugs/modalg_2/bug20964_5
tests/bugs/modalg_2/bug21261_1
tests/bugs/modalg_2/bug21261_10
tests/bugs/modalg_2/bug21261_11
tests/bugs/modalg_2/bug21261_12
tests/bugs/modalg_2/bug21261_13
tests/bugs/modalg_2/bug21261_14
tests/bugs/modalg_2/bug21261_15
tests/bugs/modalg_2/bug21261_16
tests/bugs/modalg_2/bug21261_17
tests/bugs/modalg_2/bug21261_18
tests/bugs/modalg_2/bug21261_19
tests/bugs/modalg_2/bug21261_2
tests/bugs/modalg_2/bug21261_20
tests/bugs/modalg_2/bug21261_21
tests/bugs/modalg_2/bug21261_22
tests/bugs/modalg_2/bug21261_23
tests/bugs/modalg_2/bug21261_24
tests/bugs/modalg_2/bug21261_25
tests/bugs/modalg_2/bug21261_26
tests/bugs/modalg_2/bug21261_27
tests/bugs/modalg_2/bug21261_28
tests/bugs/modalg_2/bug21261_29
tests/bugs/modalg_2/bug21261_3
tests/bugs/modalg_2/bug21261_30
tests/bugs/modalg_2/bug21261_31
tests/bugs/modalg_2/bug21261_32
tests/bugs/modalg_2/bug21261_33
tests/bugs/modalg_2/bug21261_34
tests/bugs/modalg_2/bug21261_35
tests/bugs/modalg_2/bug21261_36
tests/bugs/modalg_2/bug21261_37
tests/bugs/modalg_2/bug21261_38
tests/bugs/modalg_2/bug21261_39
tests/bugs/modalg_2/bug21261_4
tests/bugs/modalg_2/bug21261_40
tests/bugs/modalg_2/bug21261_41
tests/bugs/modalg_2/bug21261_42
tests/bugs/modalg_2/bug21261_43
tests/bugs/modalg_2/bug21261_44
tests/bugs/modalg_2/bug21261_45
tests/bugs/modalg_2/bug21261_46
tests/bugs/modalg_2/bug21261_5
tests/bugs/modalg_2/bug21261_6
tests/bugs/modalg_2/bug21261_7
tests/bugs/modalg_2/bug21261_8
tests/bugs/modalg_2/bug21261_9
tests/bugs/modalg_2/bug21652_1
tests/bugs/modalg_2/bug21652_2
tests/bugs/modalg_2/bug305
tests/bugs/modalg_4/bug827_1
tests/bugs/moddata_1/bug150_1
tests/bugs/moddata_1/bug150_2
tests/bugs/moddata_1/bug20683
tests/bugs/moddata_1/bug22759
tests/bugs/moddata_1/bug54
tests/bugs/moddata_2/bug22758
tests/bugs/moddata_2/bug23051
tests/bugs/moddata_2/bug353
tests/bugs/moddata_3/buc60634
tests/bugs/vis/bug1629
tests/bugs/vis/bug1786
tests/bugs/vis/bug21747_1
tests/bugs/vis/bug21747_10
tests/bugs/vis/bug21747_11
tests/bugs/vis/bug21747_12
tests/bugs/vis/bug21747_13
tests/bugs/vis/bug21747_14
tests/bugs/vis/bug21747_15
tests/bugs/vis/bug21747_16
tests/bugs/vis/bug21747_17
tests/bugs/vis/bug21747_2
tests/bugs/vis/bug21747_3
tests/bugs/vis/bug21747_4
tests/bugs/vis/bug21747_5
tests/bugs/vis/bug21747_6
tests/bugs/vis/bug21747_7
tests/bugs/vis/bug21747_8
tests/bugs/vis/bug21747_9
tests/bugs/vis/bug22188
tests/bugs/vis/bug316
tests/bugs/xde/bug23047_1
tests/bugs/xde/bug23047_2
tests/de/parse.rules
tests/parse.rules
tests/thrusection/parse.rules

diff --git a/src/DrawResources/BuildWorkbench.tcl b/src/DrawResources/BuildWorkbench.tcl
deleted file mode 100755 (executable)
index 6ee0a99..0000000
+++ /dev/null
@@ -1,344 +0,0 @@
-# Copyright (c) 1999-2012 OPEN CASCADE SAS
-#
-# The content of this file is subject to the Open CASCADE Technology Public
-# License Version 6.5 (the "License"). You may not use the content of this file
-# except in compliance with the License. Please obtain a copy of the License
-# at http://www.opencascade.org and read it completely before using this file.
-#
-# The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
-# main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
-#
-# The Original Code and all software distributed under the License is
-# distributed on an "AS IS" basis, without warranty of any kind, and the
-# Initial Developer hereby disclaims all such warranties, including without
-# limitation, any warranties of merchantability, fitness for a particular
-# purpose or non-infringement. Please see the License for the specific terms
-# and conditions governing the rights and limitations under the License.
-
-#
-#
-#  procedures pour automatiser la fabrication de gti
-#
-#
-puts " *****  loading  build_list   ***** "
-###############################################################################
-#
-#
-proc build_list { factory ilot workbench  exelist toolkitlist   packagelist } {
-#
-#
-###############################################################################
-# fabrique la liste des executables, toolkits et packages
-# pour un workbench donne
-#
-
-    upvar $exelist      EXECUTABLE_LIST
-    upvar $toolkitlist  TOOLKIT_LIST
-    upvar $packagelist  PACKAGE_LIST
-    wokcd [concat $factory:$ilot:$workbench]
-    wokprofile -d
-    set UD_LIST [ w_info -l ]
-    set PACKAGE_LIST ""
-    set EXECUTABLE_LIST ""
-    set TOOLKIT_LIST ""
-    for { set i 0 } { $i <= [expr [ llength $UD_LIST ] - 1 ]} { incr i } {
-       set p [lindex $UD_LIST $i]
-       set typ [ uinfo -t $p ]
-       if { $typ == "executable" } {
-           lappend EXECUTABLE_LIST $p
-       } elseif { $typ == "toolkit" } {
-           lappend TOOLKIT_LIST $p
-       } elseif { $typ == "package" || $typ == "nocdlpack" } {
-           lappend PACKAGE_LIST $p
-       }
-    }
-}
-puts " *****  loading   extract_from_cdl ***** "
-###############################################################################
-#
-#
-proc extract_from_cdl { factory ilot workbench } {
-#
-#
-###############################################################################
-    build_list $factory $ilot $workbench  TYPE_OF_PACKAGE_LIST(1) TYPE_OF_PACKAGE_LIST(2) TYPE_OF_PACKAGE_LIST(3) 
-    puts " *********** Extraction commencing at "
-    puts "[exec date]"
-    for { set i 0 } { $i <= [expr [ llength $TYPE_OF_PACKAGE_LIST(3) ] - 1 ]} { incr i } {
-           set PACKAGE [lindex $TYPE_OF_PACKAGE_LIST(3) $i]
-           wokcd $PACKAGE
-           set LOCAL_UD [ wokcd ] 
-
-            
-           set ERROR_FILE [ wokinfo -p admfile:cdlcompile.log $LOCAL_UD ] 
-            set ERROR_DIRECTORY [ file dirname $ERROR_FILE ] 
-           puts " $ERROR_FILE "
-#
-#  attention : verifier que la directory existe 
-#
-           if { [ file isdirectory  $ERROR_DIRECTORY ] } {
-               set FILE_DESCRIPTOR [ open $ERROR_FILE w ] 
-#
-#   on initialise avec un chaine null le fichier
-#
-               puts $FILE_DESCRIPTOR ""
-#
-#   on redirige les erreurs avec un dispatcheur
-#
-               msgsetcmd dispatch_compile_message $FILE_DESCRIPTOR
-           }
-           catch { umake -fe obj.inc } 
-#           puts "umake -fe obj.inc"
-           if { [ file isdirectory  $ERROR_DIRECTORY ] } {
-               close $FILE_DESCRIPTOR
-               msgunsetcmd
-            }
-       
-    }
-    puts " ********** Extraction ending at " 
-    puts " [exec date]"
-    msclear
-}
-puts " *****  loading  force_build_only_obj *****  "
-###############################################################################
-#
-#
-proc force_build_only_obj { factory ilot workbench } {
-#
-#
-###############################################################################
-    build_list $factory $ilot $workbench  TYPE_OF_PACKAGE_LIST(1) TYPE_OF_PACKAGE_LIST(2) TYPE_OF_PACKAGE_LIST(3) 
-    puts " *********   Obj commencing at "
-    puts " [ exec date ] "
-    for { set i 0 } { $i <= [expr [ llength $TYPE_OF_PACKAGE_LIST(3) ] - 1 ]} { incr i } {
-       set p [lindex $TYPE_OF_PACKAGE_LIST(3) $i]
-       wokcd $p
-       set LOCAL_UD [ wokcd ] 
-       set ERROR_FILE [ wokinfo -p stadmfile:objcompile.log $LOCAL_UD ]
-        set ERROR_DIRECTORY [ file dirname $ERROR_FILE ] 
-       puts " $ERROR_FILE "
-#
-#  attention : verifier que la directory existe 
-#
-       if { [ file isdirectory  $ERROR_DIRECTORY ] } {
-               set FILE_DESCRIPTOR [ open $ERROR_FILE w ] 
-#
-#   on initialise avec un chaine null le fichier
-#
-               puts $FILE_DESCRIPTOR ""
-#
-#   on redirige les erreurs avec un dispatcheur
-#
-               msgsetcmd dispatch_compile_message $FILE_DESCRIPTOR
-           } 
-       catch { umake -of obj } 
-#       puts " umake -o obj  $p "
-       if { [ file isdirectory  $ERROR_DIRECTORY ] } {
-               close $FILE_DESCRIPTOR
-               msgunsetcmd 
-       }
-
-       
-    }
-    for { set j 1 } { $j <= 2 } { incr j } {
-       for { set i 0 } { $i <= [expr [ llength $TYPE_OF_PACKAGE_LIST($j) ] - 1 ]} { incr i } {
-           set p [lindex $TYPE_OF_PACKAGE_LIST($j) $i]
-           wokcd $p
-           set LOCAL_UD [ wokcd ] 
-           set ERROR_FILE [ wokinfo -p stadmfile:objcompile.log $LOCAL_UD ]
-            set ERROR_DIRECTORY [ file dirname $ERROR_FILE ] 
-           puts " $ERROR_FILE "
-#
-#  attention : verifier que la directory existe 
-#
-           if { [ file isdirectory  $ERROR_DIRECTORY ] } {
-               set FILE_DESCRIPTOR [ open $ERROR_FILE w ] 
-#
-#   on initialise avec un chaine null le fichier
-#
-               puts $FILE_DESCRIPTOR ""
-#
-#   on redirige les erreurs avec un dispatcheur
-#
-               msgsetcmd dispatch_compile_message $FILE_DESCRIPTOR
-           } 
-           
-           catch { umake -f  } 
-#           puts " umake $p "
-           if { [ file isdirectory  $ERROR_DIRECTORY ] } {
-               close $FILE_DESCRIPTOR
-               msgunsetcmd 
-           }
-       }
-    }
-
-    puts " *********   Obj ending at "
-    puts " [ exec date ] " 
-    msclear
-}
-puts " *****  loading  build_only_obj ****** "
-###############################################################################
-#
-#
-proc build_only_obj { factory ilot workbench } {
-#
-#
-###############################################################################
-
-    build_list $factory $ilot $workbench  TYPE_OF_PACKAGE_LIST(1) TYPE_OF_PACKAGE_LIST(2) TYPE_OF_PACKAGE_LIST(3) 
-    puts " *********   Obj commencing at "
-    puts " [ exec date ] "
-    for { set i 0 } { $i <= [expr [ llength $TYPE_OF_PACKAGE_LIST(3) ] - 1 ]} { incr i } {
-       set p [lindex $TYPE_OF_PACKAGE_LIST(3) $i]
-       wokcd $p
-       set LOCAL_UD [ wokcd ] 
-       set ERROR_FILE [ wokinfo -p stadmfile:objcompile.log $LOCAL_UD ]
-        set ERROR_DIRECTORY [ file dirname $ERROR_FILE ] 
-       puts " $ERROR_FILE "
-#
-#  attention : verifier que la directory existe 
-#
-       if { [ file isdirectory  $ERROR_DIRECTORY ] } {
-               set FILE_DESCRIPTOR [ open $ERROR_FILE w ] 
-#
-#   on initialise avec un chaine null le fichier
-#
-               puts $FILE_DESCRIPTOR ""
-#
-#   on redirige les erreurs avec un dispatcheur
-#
-               msgsetcmd dispatch_compile_message $FILE_DESCRIPTOR
-           } 
-       catch { umake -o obj } 
-#       puts " umake -o obj  $p "
-       if { [ file isdirectory  $ERROR_DIRECTORY ] } {
-               close $FILE_DESCRIPTOR
-               msgunsetcmd 
-       }
-
-       
-    }
-    for { set j 1 } { $j <= 2 } { incr j } {
-       for { set i 0 } { $i <= [expr [ llength $TYPE_OF_PACKAGE_LIST($j) ] - 1 ]} { incr i } {
-           set p [lindex $TYPE_OF_PACKAGE_LIST($j) $i]
-           wokcd $p
-           set LOCAL_UD [ wokcd ] 
-           set ERROR_FILE [ wokinfo -p stadmfile:objcompile.log $LOCAL_UD ]
-            set ERROR_DIRECTORY [ file dirname $ERROR_FILE ] 
-           puts " $ERROR_FILE "
-#
-#  attention : verifier que la directory existe 
-#
-           if { [ file isdirectory  $ERROR_DIRECTORY ] } {
-               set FILE_DESCRIPTOR [ open $ERROR_FILE w ] 
-#
-#   on initialise avec un chaine null le fichier
-#
-               puts $FILE_DESCRIPTOR ""
-#
-#   on redirige les erreurs avec un dispatcheur
-#
-               msgsetcmd dispatch_compile_message $FILE_DESCRIPTOR
-           } 
-           
-           catch { umake  } 
-#           puts " umake $p "
-           if { [ file isdirectory  $ERROR_DIRECTORY ] } {
-               close $FILE_DESCRIPTOR
-               msgunsetcmd 
-           }
-       }
-    }
-
-    puts " *********   Obj ending at "
-    puts " [ exec date ] " 
-    msclear
-}
-###############################################################################
-#
-#
-proc dispatch_compile_message { code message file } {
-#
-#
-###############################################################################
-    puts " $message "
-    if { $code == "E" } {
-           puts $file " $message "
-     } 
-#
-#  E les erreurs
-#       
-#
-#  V verbose 
-#
-#
-#  I les infos
-#
-#
-#  W les warnings
-#
-    
-     
-}
-puts " *****  loading  build_obj_log *****  "
-###############################################################################
-#
-#
-proc build_obj_log { factory ilot workbench } {
-#
-#
-###############################################################################
-    puts " Erreurs dans les compiles obj :"
-    build_list $factory $ilot $workbench  TYPE_OF_PACKAGE_LIST(1) TYPE_OF_PACKAGE_LIST(2) TYPE_OF_PACKAGE_LIST(3) 
-    for { set j 2 } { $j <= 3 } { incr j } {
-       for { set i 0 } { $i <= [expr [ llength $TYPE_OF_PACKAGE_LIST($j) ] - 1 ]} { incr i } {
-           set p [lindex $TYPE_OF_PACKAGE_LIST($j) $i]
-           wokcd $p
-           set LOCAL_UD [ wokcd ] 
-           set ERROR_FILE [ wokinfo -p stadmfile:objcompile.log $LOCAL_UD ] 
-           if { [ file exists $ERROR_FILE ] } {
-               set FILE_DESCRIPTOR [ open $ERROR_FILE r ]
-               set ERROR_HAPPENED 0 
-               while { [ gets $FILE_DESCRIPTOR LINE ] >= 0 && $ERROR_HAPPENED == 0  } {
-                   if { [ regexp Error $LINE ] } {
-                       puts "$LOCAL_UD"
-                       set ERROR_HAPPENED 1
-                   }
-               }
-               close $FILE_DESCRIPTOR
-           }
-        }
-    }
-}
-puts " *****  loading   build_cdl_log ******  "
-###############################################################################
-#
-#
-proc build_cdl_log { factory ilot workbench } {
-#
-#
-###############################################################################
-    puts "Erreurs dans les compiles cdl :"
-    build_list $factory $ilot $workbench  TYPE_OF_PACKAGE_LIST(1) TYPE_OF_PACKAGE_LIST(2) TYPE_OF_PACKAGE_LIST(3) 
-    for { set i 0 } { $i <= [expr [ llength $TYPE_OF_PACKAGE_LIST(3) ] - 1 ]} { incr i } {
-           set p [lindex $TYPE_OF_PACKAGE_LIST(3) $i]
-           wokcd $p
-           set LOCAL_UD [ wokcd ] 
-           set ERROR_FILE [ wokinfo -p admfile:cdlcompile.log $LOCAL_UD ] 
-           if { [ file exists $ERROR_FILE ] } {
-               set FILE_DESCRIPTOR [ open $ERROR_FILE r ] 
-               set ERROR_HAPPENED  0
-               while { [ gets $FILE_DESCRIPTOR LINE ] >= 0 && $ERROR_HAPPENED == 0} {
-                   if { [ regexp Error $LINE ] } {
-                       puts "$LOCAL_UD "
-                       set ERROR_HAPPENED 1 
-                   }
-               }
-               close $FILE_DESCRIPTOR
-           }
-   }
-}
-
-
-
-
diff --git a/src/DrawResources/Consultation.tcl b/src/DrawResources/Consultation.tcl
deleted file mode 100755 (executable)
index 400c5f2..0000000
+++ /dev/null
@@ -1,456 +0,0 @@
-# Copyright (c) 1999-2012 OPEN CASCADE SAS
-#
-# The content of this file is subject to the Open CASCADE Technology Public
-# License Version 6.5 (the "License"). You may not use the content of this file
-# except in compliance with the License. Please obtain a copy of the License
-# at http://www.opencascade.org and read it completely before using this file.
-#
-# The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
-# main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
-#
-# The Original Code and all software distributed under the License is
-# distributed on an "AS IS" basis, without warranty of any kind, and the
-# Initial Developer hereby disclaims all such warranties, including without
-# limitation, any warranties of merchantability, fitness for a particular
-# purpose or non-infringement. Please see the License for the specific terms
-# and conditions governing the rights and limitations under the License.
-
-#
-# wish tools to browse tests and results
-#
-package require Tk
-
-####################################################
-# source batch tcl 
-####################################################
-#
-#  sets the following environment variables
-#  
-#  WBCONTAINER
-#  WBROOT
-#  STATION
-#
-source $env(DRAWHOME)/InitEnvironment.tcl
-
-source $env(DRAWHOME)/Tests.tcl
-
-####################################################
-# executable to display images
-####################################################
-
-set imageExec $env(WBROOT)/$env(STATION)/bin/TestImage
-#set imageExec [ wokinfo -p testexec:TestImage ] 
-
-####################################################
-# Colors and title
-####################################################
-
-option add *Background grey
-option add *Foreground black
-wm  title . "Modeling Team Test Browser"
-wm geometry . +460+10
-
-####################################################
-# Les Boutons
-####################################################
-
-frame .top
-
-frame .b
-
-set nextCommand "nextTest"
-proc InteractiveNext {} {
-
-    # process the next button
-    # remove display of image for rapidity
-
-    global nextCommand withImage
-    set oldwith $withImage
-    set withImage 0
-    $nextCommand
-    set withImage $oldwith
-    displayImage
-    focus .
-}
-
-button .b.init  -text "init"          -command init
-button .b.clear -text "clear"         -command clearResult
-button .b.copy  -text "Copy"          -command copyMaster
-button .b.exit  -text "exit"          -command {if $withImage switchImage; exit}
-button .b.view  -text "View"          -command viewTest
-button .b.run   -text "Run"           -command runTest
-button .b.send   -text "Send"         -command sendTest
-button .b.next  -text "Next"          -command InteractiveNext
-button .b.nul   -text "next UL"       -command nextUL
-button .b.nfunc -text "next Function" -command nextFunction
-
-radiobutton .b.withtest -anchor w -relief flat \
-       -text "Test " -variable nextCommand -value "nextTest"
-radiobutton .b.withres  -anchor w -relief flat \
-       -text "With result" -variable nextCommand -value "nextWithResult"
-radiobutton .b.witherr  -anchor w -relief flat \
-       -text "With error" -variable nextCommand -value "nextWithError"
-
-pack    .b.init .b.clear .b.copy  .b.run .b.send .b.view \
-       .b.next .b.withtest .b.withres .b.witherr \
-       .b.nul .b.nfunc .b.exit \
-       -side top -fill x
-
-pack .b -side right -anchor n -in .top
-
-####################################################
-# Les directory test resultat et master
-# les entry
-####################################################
-
-frame  .root
-label  .root.name  -text "Root of tests : " -width 20 -anchor w
-entry  .root.val  -relief sunken -textvariable testRoot -width 40
-pack .root.name .root.val -side left
-
-frame  .res
-label  .res.name    -text "Result directory : " -width 20 -anchor w
-entry  .res.val -relief sunken -textvariable resultRoot -width 40
-pack .res.name .res.val -side left
-
-frame .master
-label .master.name -text "Master directory : " -width 20 -anchor w
-entry .master.val  -relief sunken -textvariable masterRoot -width 40
-pack .master.name .master.val -side left
-
-frame .exec
-label .exec.name -text "Executable : " -width 20 -anchor w
-entry .exec.val  -relief sunken -textvariable theExec -width 40
-pack .exec.name .exec.val -side left
-
-frame .sendto
-label .sendto.name -text "Send to : " -width 20 -anchor w
-entry .sendto.val  -relief sunken -textvariable theDraw -width 40
-pack .sendto.name .sendto.val -side left
-
-# enforce update when return
-bind .root.val <Return> "set theTest $theTest"
-bind .res.val <Return> "set theTest $theTest"
-bind .master.val <Return> "set theTest $theTest"
-bind .exec.val <Return> "set theTest $theTest"
-
-pack .root .res .master .exec .sendto -side top -in .top
-
-####################################################
-# Les list box UL Function Test
-####################################################
-
-listbox .uls -relief sunken -borderwidth 2 \
-       -yscrollcommand ".suls set"
-scrollbar .suls -relief sunken  -command ".uls yview"
-
-listbox .funcs -relief sunken -borderwidth 2 \
--yscrollcommand ".sfuncs set"
-scrollbar .sfuncs -relief sunken  -command ".funcs yview"
-
-listbox .tests -relief sunken -borderwidth 2 \
--yscrollcommand ".stests set"
-scrollbar .stests -relief sunken  -command ".tests yview"
-
-bind .uls <Double-Button-1> {
-    set theUL [selection get]
-}
-
-bind .funcs <Double-Button-1> {
-    set theFunction [selection get]
-}
-
-bind .tests <Double-Button-1> {
-    set theTest [selection get]
-}
-
-# procedures de trace des variables listes
-# mettent a jour la list box correspondante
-
-trace variable listUL w  listULProcW
-proc listULProcW {name element op} {
-    global listUL
-    .uls delete 0 [.uls size]
-    foreach f $listUL {.uls insert end $f}
-}
-
-trace variable listFunction w  listFunctionProcW
-proc listFunctionProcW {name element op} {
-    global listFunction
-    .funcs delete 0 [.funcs size]
-    foreach f $listFunction {.funcs insert end $f}
-}
-
-trace variable listTest w  listTestProcW
-proc listTestProcW {name element op} {
-    global listTest
-    .tests delete 0 [.tests size]
-    foreach f $listTest {.tests insert end $f}
-}
-
-#presentation 
-
-pack .uls .suls .funcs .sfuncs .tests .stests -side left -fill both -in .top
-
-####################################################
-# the current UL Function Test, associated buttons
-####################################################
-
-frame .current
-
-label .current.ul   -textvariable theUL
-label .current.func -textvariable theFunction
-label .current.test -textvariable theTest
-
-pack .current.ul .current.func .current.test -side left
-
-####################################################
-# le statut
-####################################################
-
-frame .status
-label .status.h -text "${theStatusHeader} : "
-label .status.s -textvariable theStatusLine -anchor w
-
-# menu des fichiers xwd
-
-set withImage 0
-set hasImage "No Image"
-set nbXWD "0 images  "
-
-label  .status.xwd  -textvariable nbXWD
-button .status.vxwd -text "no Display" -command switchImage
-bind . <d> switchImage
-
-proc switchImage {} {
-    global withImage imageProcess
-    if $withImage {
-       set withImage 0
-       .status.vxwd configure -text "no Display"
-       catch {exec kill $imageProcess}
-       set imageProcess 0
-    } else {
-       set withImage 1
-       .status.vxwd configure -text "Display"
-       displayImage
-    }
-}
-
-trace variable theXWDFiles w theXWDFilesProcW
-
-proc theXWDFilesProcW {name element op} {
-    global nbXWD theXWDFiles
-    set nbXWD "[llength $theXWDFiles] images  "
-    displayImage
-}
-
-set imageProcess 0
-
-proc displayImage {} {
-    global withImage
-    if {! $withImage} return
-    global imageExec imageProcess
-    global theXWDFiles resultRoot masterRoot theUL theFunction 
-    if $imageProcess {catch {exec kill $imageProcess}}
-
-    foreach f [glob -nocomplain /tmp/*.xwd] {catch {exec rm -f $f}}
-    set r {}
-    foreach h $theXWDFiles {
-       set g [file rootname [file tail $h]]
-       set f $resultRoot/$theUL/$theFunction/$g.Z
-       if [file readable $f] {
-           catch {exec cp $f /tmp/r$g.Z}
-           catch {exec uncompress /tmp/r$g.Z}
-           lappend r /tmp/r$g
-       } else {lappend r "XXXX"}
-       set f $masterRoot/$theUL/$theFunction/$g.Z
-       if [file readable $f] {
-           catch {exec cp $f /tmp/m$g.Z}
-           catch {exec uncompress /tmp/m$g.Z}
-           lappend r /tmp/m$g
-       } else {lappend r "XXXX"}
-    }
-    set imageProcess [eval exec $imageExec $r & ]
-}
-
-pack .status.h .status.s -side left
-pack .status.vxwd .status.xwd -side right
-
-####################################################
-# Les resultats et les master
-####################################################
-
-frame .log
-text .log.result -relief raised -bd 2 -width 38 -yscrollcommand ".log.sresult set"
-scrollbar .log.sresult -relief sunken -command ".log.result yview"
-text .log.master -relief raised -bd 2 -width 38 -yscrollcommand ".log.smaster set"
-scrollbar .log.smaster -relief sunken -command ".log.master yview"
-
-# trace the files names
-proc loadFile {file text} {
-    $text delete 1.0 end
-    if {$file == ""} return
-    if [file isdirectory $file] return
-    if [file readable $file] {
-       set f [open $file]
-       while {![eof $f]} {
-           $text insert end [read $f 1000]
-       }
-       close $f
-    }
-}
-
-trace variable theLog w theLogProc
-proc theLogProc {name element op} {
-    global theLog 
-    loadFile $theLog .log.result
-}
-
-trace variable theErrorLines w theErrorLinesProc
-proc theErrorLinesProc {name element op} {
-    global theErrorLines
-    # tag the errors if there are
-    .log.result tag delete error
-    foreach l $theErrorLines {
-       .log.result tag add error $l.0 $l.end
-       .log.result tag configure error -background orange
-    }
-}
-
-trace variable theDiffs w theDiffsProc
-proc theDiffsProc {name element op} {
-    global theDiffs
-    # tag the differences if there are
-    .log.result tag delete diffs
-    .log.master tag delete diffs
-    if [llength $theDiffs] {
-       foreach l $theDiffs {
-           .log.result tag add diffs ${l}.0 ${l}.end
-           .log.master tag add diffs ${l}.0 ${l}.end
-       }
-       .log.result tag configure diffs -background lightblue
-       .log.master tag configure diffs -background lightblue
-    }
-}
-
-trace variable theMasterLog w theMasterLogProc
-proc theMasterLogProc {name element op} {
-    global theMasterLog
-    loadFile $theMasterLog .log.master
-}
-
-pack .log.result .log.sresult .log.master .log.smaster -side left -fill y
-
-####################################################
-# panel to display the test
-####################################################
-
-set hasTestPanel 0
-set withBeginEnd 0
-set beginFunction ""
-set endFunction   ""
-set beginUL       ""
-set endUL         ""
-
-proc viewTest {} {
-    global hasTestPanel 
-    if {! $hasTestPanel} {
-       set hasTestPanel 1
-       toplevel .panel
-       wm geometry .panel +10+610
-
-       frame .panel.b
-       button .panel.b.quit -text Quit \
-               -command {destroy .panel; set hasTestPanel 0}
-       bind .panel <q> {destroy .panel; set hasTestPanel 0}
-
-       button .panel.b.bfunc -textvariable beginFunction \
-               -command {loadFile $testRoot/$theUL/$theFunction/begin .panel.t.text}
-       button .panel.b.efunc -textvariable endFunction \
-               -command {loadFile $testRoot/$theUL/$theFunction/end .panel.t.text}
-       button .panel.b.bul -textvariable beginUL \
-               -command {loadFile $testRoot/$theUL/begin .panel.t.text}
-       button .panel.b.eul -textvariable endUL \
-               -command {loadFile $testRoot/$theUL/end .panel.t.text}
-       button .panel.b.test -textvariable theTest \
-               -command {loadFile $testRoot/$theUL/$theFunction/$theTest .panel.t.text}
-       button .panel.b.next -text Next -command {$nextCommand; focus .panel}
-       bind .panel <n> {$nextCommand}
-
-       button .panel.b.concat -text "Concat " -command {
-           if { $withBeginEnd} { 
-               set withBeginEnd 0
-           } else { 
-               set withBeginEnd 1
-           } 
-           displayTest
-       }
-       button .panel.b.send   -text "Send"         -command sendTest
-
-       pack .panel.b.quit .panel.b.next .panel.b.concat .panel.b.send \
-               -side top -fill x 
-       pack .panel.b.eul .panel.b.efunc .panel.b.test .panel.b.bfunc \
-               .panel.b.bul \
-               -side bottom -fill x 
-
-       frame .panel.t
-       text .panel.t.text -relief raised -width 65 -bd 2 \
-               -yscrollcommand ".panel.t.scroll set"
-       scrollbar .panel.t.scroll -relief sunken -command ".panel.t.text yview"
-       pack .panel.t.text .panel.t.scroll -side left -fill both
-
-       pack .panel.t .panel.b -side left -fill both
-
-    } else {
-       destroy .panel
-       set hasTestPanel 0      
-    }
-    displayTest
-}
-
-proc displayTest {} {
-    global hasTestPanel
-    global withBeginEnd
-    if {! $hasTestPanel} return
-    global testRoot theUL theFunction theTest
-    global beginFunction endFunction beginUL endUL
-    if { ! $withBeginEnd} {
-       loadFile $testRoot/$theUL/$theFunction/$theTest .panel.t.text
-    } else {
-       global testRoot resultRoot theExec theLog theDraw
-       global theUL theFunction theTest
-       set f /tmp/theTest[pid]
-       set ff [open $f w]
-       puts $ff "set testroot $testRoot"
-       puts $ff "set testinfos(resultRoot)  $resultRoot"
-       puts $ff "set testinfos(theUL)       $theUL"
-       puts $ff "set testinfos(theFunction) $theFunction"
-       puts $ff "set testinfos(theTest)     $theTest"
-       close $ff
-       catch {exec cat -s \
-               $testRoot/$theUL/begin \
-               $testRoot/$theUL/$theFunction/begin \
-               $testRoot/$theUL/$theFunction/$theTest \
-               $testRoot/$theUL/$theFunction/end \
-               $testRoot/$theUL/end  >> $f}
-       loadFile $f .panel.t.text
-    }
-    set beginFunction "$theFunction begin"
-    set endFunction   "$theFunction end"
-    set beginUL "$theUL begin"
-    set endUL   "$theUL end"
-    wm title .panel "$theUL $theFunction $theTest"
-}
-
-trace variable theTest w theTestProcW
-proc theTestProcW {name element op} {
-    displayTest
-}
-
-####################################################
-# presentation generale
-####################################################
-
-pack .top .current .status .log -side top -fill x
-
-init
diff --git a/src/DrawResources/DIFF.c b/src/DrawResources/DIFF.c
deleted file mode 100755 (executable)
index 22efa21..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- Copyright (c) 1998-1999 Matra Datavision
- Copyright (c) 1999-2012 OPEN CASCADE SAS
-
- The content of this file is subject to the Open CASCADE Technology Public
- License Version 6.5 (the "License"). You may not use the content of this file
- except in compliance with the License. Please obtain a copy of the License
- at http://www.opencascade.org and read it completely before using this file.
-
- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
-
- The Original Code and all software distributed under the License is
- distributed on an "AS IS" basis, without warranty of any kind, and the
- Initial Developer hereby disclaims all such warranties, including without
- limitation, any warranties of merchantability, fitness for a particular
- purpose or non-infringement. Please see the License for the specific terms
- and conditions governing the rights and limitations under the License.
-
-*/
-
-
-
-
-#include <stdio.h>
-
-int main(int argc, char **argv) { 
-  if(argc!=3) { 
-    fprintf(stderr,"\n DIFF File1 File2 \n");
-    return(-1);
-  }
-  FILE *fp1 = fopen(argv[1],"r");
-  if(fp1 == NULL) { 
-    fprintf(stderr,"\n Unable to open file1:%s \n",argv[1]);
-    return(-2);
-  }
-  FILE *fp2 = fopen(argv[2],"r");
-  if(fp2 == NULL) { 
-    fprintf(stderr,"\n Unable to open file2:%s \n",argv[2]);
-    return(-3);
-  }
-
-  int ok1 = fseek(fp1,0L,SEEK_END);
-  long size1 = ftell(fp1);
-
-
-  int ok2 = fseek(fp2,0L,SEEK_END);
-  long size2 = ftell(fp2);
-
-  //-- printf("\n size:   %s:%ld    %s:%ld\n",argv[1],size1,argv[2],size2);
-
-  if(size2>size1) { 
-    fseek(fp2,size1,SEEK_SET);
-    while(!feof(fp2)) { 
-      int c=fgetc(fp2);
-      if(c!=-1) { 
-       fputc(c,stdout);
-      }    
-    }
-  }
-  
-  return(0);
-}
-  
index 9e74643..17fe748 100755 (executable)
@@ -71,15 +71,6 @@ if { [file readable $draw_appli_init_file] } {
   }
 } 
 
-# Temporary: load specific QA commands and handlers
-if {[array get env QA_DUMP] != "" && $env(QA_DUMP) == "1"} {
-    set env(CSF_DrawPluginQADefaults) $env(CASROOT)/src/DrawResources/.
-    catch {pload FULL}
-    catch {pload -DrawPluginProducts OMF CANONICALRECOGNITION EMESH PARASOLID DXF SAT }
-    catch {pload QAcommands}
-    catch {source $env(CSF_DrawPluginQADefaults)/QARebuildCommands}
-}
-
 # on Windows, set special handler to update automatically environment variables
 # in C subsystem when Tcl environment changes (see Mantis issue #23197)
 if { $tcl_platform(platform) == "windows" && ! [catch {dgetenv PATH} res] } {
index 5ffdb2f..30e4a30 100755 (executable)
@@ -1,6 +1,3 @@
-srcinc:::BuildWorkbench.tcl
-srcinc:::Tests.tcl
-srcinc:::Consultation.tcl
 srcinc:::CURVES.tcl
 srcinc:::Documentation.tcl
 srcinc:::DrawTK.tcl
@@ -9,25 +6,16 @@ srcinc:::InitEnvironment.tcl
 srcinc:::PROFIL.tcl
 srcinc:::StandardCommands.tcl
 srcinc:::StandardViews.tcl
-srcinc:::SCAN.tcl
 srcinc:::SURFACES.tcl
-srcinc:::Grille.tcl
 srcinc:::Move.tcl
 srcinc:::idoc
 srcinc:::mkdoc
 srcinc:::tdoc
-srcinc:::test2xl
-srcinc:::mdltest
-srcinc:::vmdltest
 srcinc:::DRAW.doc
 srcinc:::DRAW.info
 srcinc:::DrawDefault
-srcinc:::TestDraw.cxx
-srcinc:::Filtre.c
-srcinc:::DIFF.c
 srcinc:::lamp.ico
 srcinc:::DrawPlugin
 srcinc:::TKTopTest.tcl
 srcinc:::dftree.tcl
-srcinc:::QARebuildCommands
 srcinc:::TestCommands.tcl
diff --git a/src/DrawResources/Filtre.c b/src/DrawResources/Filtre.c
deleted file mode 100755 (executable)
index 7796b69..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- Copyright (c) 1998-1999 Matra Datavision
- Copyright (c) 1999-2012 OPEN CASCADE SAS
-
- The content of this file is subject to the Open CASCADE Technology Public
- License Version 6.5 (the "License"). You may not use the content of this file
- except in compliance with the License. Please obtain a copy of the License
- at http://www.opencascade.org and read it completely before using this file.
-
- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
-
- The Original Code and all software distributed under the License is
- distributed on an "AS IS" basis, without warranty of any kind, and the
- Initial Developer hereby disclaims all such warranties, including without
- limitation, any warranties of merchantability, fitness for a particular
- purpose or non-infringement. Please see the License for the specific terms
- and conditions governing the rights and limitations under the License.
-
-*/
-
-#include <stdio.h>
-#include <stdlib.h>
-
-
-
-int main(int argc,char **argv) { 
-  char t[10000];
-  do { 
-    if(fgets(t,10000,stdin)) { 
-      if (t[0] == 'D' && t[1] == 'r' && t[2] == 'a' && t[3] == 'w' &&
-         t[4] == '[' && t[5] == '1' && t[6] == ']')
-       fputs(t+9,stdout);
-      else
-       fputs(t,stdout);
-    }
-  }
-  while(!feof(stdin));
-
-  return(1);
-}
diff --git a/src/DrawResources/Grille.tcl b/src/DrawResources/Grille.tcl
deleted file mode 100755 (executable)
index 96778fd..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright (c) 1999-2012 OPEN CASCADE SAS
-#
-# The content of this file is subject to the Open CASCADE Technology Public
-# License Version 6.5 (the "License"). You may not use the content of this file
-# except in compliance with the License. Please obtain a copy of the License
-# at http://www.opencascade.org and read it completely before using this file.
-#
-# The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
-# main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
-#
-# The Original Code and all software distributed under the License is
-# distributed on an "AS IS" basis, without warranty of any kind, and the
-# Initial Developer hereby disclaims all such warranties, including without
-# limitation, any warranties of merchantability, fitness for a particular
-# purpose or non-infringement. Please see the License for the specific terms
-# and conditions governing the rights and limitations under the License.
-
-#
-# this prints the image of the BOOLEAN GRIDS
-#
-proc print_test { test_letter grille_number } {
-    append test_file $test_letter 2 ;  
-    append image_directory "/home/wb/mdl/gti/work/GRILLE/" $grille_number
-    set grille_directory "/adv_20/BAG/test/GRILLES-BOOLEAN/"
-    append grille_directory $grille_number
-    append grille_name $grille_number
-    cd $grille_directory
-    uplevel #0 source $test_file  ;  
-    clear ; 
-    smallview AXON
-    uplevel #0 display b1 b2
-    uplevel #0 fit;
-    uplevel #0 clear
-    uplevel #0 vprops b1 x y z
-    uplevel #0 vprops b2 u v w
-    dtext -0.1 -0.1  -0.2 $test_letter ;
-    dtext -0.1 -0.1  -0.5 $grille_name
-    dtext u v w  solid2
-    dtext x y z  solid1
-    uplevel #0 compound b1 b2 c
-    uplevel #0 display c
-    uplevel #0 hlr rgn c
-    uplevel #0 hlr hid c
-    
-    if { [ file isdirectory $image_directory ] == 0 } {
-       uplevel #0 mkdir $image_directory 
-    }
-    cd $image_directory
-    hcolor 5 16 0
-    hcolor 12 11 0
-    hardcopy $test_letter.ps 
-}
-
-proc print_grille  { number } {
-    foreach letter { A B C D E F G H I J K L M N O P Q R S T U V W X } {
-       puts " *** test : $letter *** "
-       print_test $letter $number 
-    }
-}
diff --git a/src/DrawResources/QARebuildCommands b/src/DrawResources/QARebuildCommands
deleted file mode 100644 (file)
index 423d737..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-foreach h [array names Draw_Groups] {
-       foreach f $Draw_Groups($h) {
-               QARebuild $f
-       }
-}
index b6d4f07..325ae5b 100644 (file)
@@ -65,7 +65,7 @@ help testgrid {
   Use: testgrid [group [grid]] [options...]
   Allowed options are:
   -parallel N: run N parallel processes (default is number of CPUs, 0 to disable)
-  -refresh N: save summary logs every N seconds (default 60, minimal 1, 0 to disable)
+  -refresh N: save summary logs every N seconds (default 600, minimal 1, 0 to disable)
   -outdir dirname: set log directory (should be empty or non-existing)
   -overwrite: force writing logs in existing non-empty directory
   -xml filename: write XML report for Jenkins (in JUnit-like format)
@@ -295,13 +295,15 @@ proc testgrid {args} {
     ######################################################
     
     # log command arguments and environment
-    set log "Command: testgrid $args\nHost: [info hostname]\nStarted on: [clock format [clock seconds] -format {%Y-%m-%d %H:%M:%S}]\n"
-    catch {set log "$log\nDRAW build:\n[dversion]\n" }
-    set log "$log\nEnvironment:\n"
+    lappend log "Command: testgrid $args"
+    lappend log "Host: [info hostname]"
+    lappend log "Started on: [clock format [clock seconds] -format {%Y-%m-%d %H:%M:%S}]"
+    catch {lappend log "DRAW build:\n[dversion]" }
+    lappend log "Environment:"
     foreach envar [lsort [array names env]] {
-       set log "$log$envar=\"$env($envar)\"\n"
+       lappend log "$envar=\"$env($envar)\""
     }
-    set log "$log\n"
+    lappend log ""
 
     set refresh_timer [clock seconds]
     uplevel dchrono _timer reset
@@ -318,6 +320,11 @@ proc testgrid {args} {
            # of starting / processing jobs by running threads
            catch {tpool::suspend $worker}
            if { $_tests_verbose > 0 } { _log_and_puts log "Executing tests in (up to) $parallel threads" }
+            # limit number of jobs in the queue by reasonable value
+            # to prevent slowdown due to unnecessary queue processing
+            set nbpooled 0
+            set nbpooled_max [expr 10 * $parallel]
+            set nbpooled_ok  [expr  5 * $parallel]
        }
     }
 
@@ -325,7 +332,7 @@ proc testgrid {args} {
     set userbreak 0
     foreach test_def $tests_list {
         # check for user break
-        if { "[info commands dbreak]" == "dbreak" && [catch dbreak] } {
+        if { $userbreak || "[info commands dbreak]" == "dbreak" && [catch dbreak] } {
             set userbreak 1
             break
         }
@@ -378,6 +385,10 @@ proc testgrid {args} {
            # parallel execution
            set job [tpool::post -nowait $worker "catch \"$command\" output; return \$output"]
            set job_def($job) [list $logdir $dir $group $grid $casename]
+            incr nbpooled
+            if { $nbpooled > $nbpooled_max } {
+                _testgrid_process_jobs $worker $nbpooled_ok
+            }
        } else {
            # sequential execution
            catch {eval $command} output
@@ -394,26 +405,12 @@ proc testgrid {args} {
 
     # get results of started threads
     if { $parallel > 0 } {
-       catch {tpool::resume $worker}
-       while { ! $userbreak && [llength [array names job_def]] > 0 } {
-           foreach job [tpool::wait $worker [array names job_def]] {
-               eval _log_test_case \[tpool::get $worker $job\] $job_def($job) log
-               unset job_def($job)
-           }
-
-            # check for user break
-            if { "[info commands dbreak]" == "dbreak" && [catch dbreak] } {
-                set userbreak 1
-            }
-
-           # update summary log with requested period
-           if { $logdir != "" && $refresh > 0 && [clock seconds] > $refresh_timer + $refresh } {
-               _log_summarize $logdir $log
-               set refresh_timer [clock seconds]
-           }
-       }
+        _testgrid_process_jobs $worker
        # release thread pool
-       tpool::cancel $worker [array names job_def]
+        if { $nbpooled > 0 } {
+           tpool::cancel $worker [array names job_def]
+        }
+        catch {tpool::resume $worker}
        tpool::release $worker
     }
 
@@ -421,7 +418,7 @@ proc testgrid {args} {
     set time [lindex [split [uplevel dchrono _timer show] "\n"] 0]
 
     if { $userbreak } {
-        puts "*********** Stopped by user break ***********"
+        _log_and_puts log "*********** Stopped by user break ***********"
         set time "${time} \nNote: the process is not finished, stopped by user break!"
     }
 
@@ -460,7 +457,7 @@ proc testsummarize {dir} {
     }
 
     # get summary statements from all test cases in one log
-    set log ""
+    set log {}
 
     # to avoid huge listing of logs, first find all subdirectories and iterate
     # by them, parsing log files in each subdirectory independently 
@@ -474,7 +471,7 @@ proc testsummarize {dir} {
                     if { "[file join $grid $caselog]" != "[file join $grp $grd ${cas}.log]" } { 
                         puts "Error: $file contains status line for another test case ($line)"
                     }
-                   set log "$log$line\n"
+                   lappend log $line
                    incr nbfound
                }
            }
@@ -572,7 +569,7 @@ proc testdiff {dir1 dir2 args} {
 
     # save result to log file
     if { "$logfile" != "" } {
-        _log_save $logfile $log
+        _log_save $logfile [join $log "\n"]
         _log_html_diff "[file rootname $logfile].html" $log $dir1 $dir2
         puts "Log is saved to $logfile (and .html)"
     }
@@ -969,8 +966,8 @@ proc _check_log {dir group gridname casename log {_summary {}} {_html_log {}}} {
     global env
     if { $_summary != "" } { upvar $_summary summary }
     if { $_html_log != "" } { upvar $_html_log html_log }
-    set summary ""
-    set html_log ""
+    set summary {}
+    set html_log {}
 
 if [catch {
 
@@ -1008,7 +1005,7 @@ if [catch {
        if [regexp -nocase {^[ \t]*TODO ([^:]*):(.*)$} $line res platforms pattern] {
            if { ! [regexp -nocase {\mAll\M} $platforms] && 
                  ! [regexp -nocase "\\m$env(os_type)\\M" $platforms] } {
-               set html_log "$html_log\n$line"
+               lappend html_log $line
                continue ;# TODO statement is for another platform
            }
 
@@ -1018,7 +1015,7 @@ if [catch {
             }
 
            lappend todos [regsub -all {\\b} [string trim $pattern] {\\y}] ;# convert regexp from Perl to Tcl style
-           set html_log "$html_log\n[_html_highlight BAD $line]"
+           lappend html_log [_html_highlight BAD $line]
            continue
        }
 
@@ -1032,7 +1029,7 @@ if [catch {
                    if { [regexp [lindex $todos $i] $line] } {
                        set is_known 1
                        incr todo_count($i)
-                       set html_log "$html_log\n[_html_highlight BAD $line]"
+                       lappend html_log [_html_highlight BAD $line]
                        break
                    }
                }
@@ -1040,7 +1037,7 @@ if [catch {
                # if it is not in todo, define status
                if { ! $is_known } {
                    set stat [lindex $bw 0 0]
-                   set html_log "$html_log\n[_html_highlight $stat $line]"
+                   lappend html_log [_html_highlight $stat $line]
                    if { $status == "" && $stat != "OK" && ! [regexp -nocase {^IGNOR} $stat] } {
                        set status [lindex $bw 0]
                    }
@@ -1050,7 +1047,7 @@ if [catch {
            }
        }
        if { ! $ismarked } { 
-           set html_log "$html_log\n$line"
+           lappend html_log $line
        }
     }
 
@@ -1093,18 +1090,15 @@ if [catch {
 
     # put final message
     _log_and_puts summary "CASE $group $gridname $casename: $status"
-    set html_log "[_html_highlight [lindex $status 0] $summary]\n$html_log"
+    set summary [join $summary "\n"]
+    set html_log "[_html_highlight [lindex $status 0] $summary]\n[join $html_log \n]"
 }
 
 # Auxiliary procedure putting message to both cout and log variable (list)
 proc _log_and_puts {logvar message} {
     if { $logvar != "" } { 
        upvar $logvar log
-       if [info exists log] { 
-           set log "$log$message\n"
-       } else {
-           set log "$message\n"
-       }
+       lappend log $message
     }
     puts $message
 }
@@ -1115,7 +1109,7 @@ proc _log_test_case {output logdir dir group grid casename logvar} {
 
     # check result and make HTML log
     _check_log $dir $group $grid $casename $output summary html_log
-    set log "$log$summary"
+    lappend log $summary
 
     # save log to file
     if { $logdir != "" } {
@@ -1223,8 +1217,8 @@ proc _html_highlight {status line} {
 proc _log_html_summary {logdir log totals regressions improvements total_time} {
     global _test_case_regexp
 
-     # create missing directories as needed
-    catch {file mkdir $logdir}
+    # create missing directories as needed
+    file mkdir $logdir
 
     # try to open a file and start HTML
     if [catch {set fd [open $logdir/summary.html w]} res] {
@@ -1289,13 +1283,15 @@ proc _log_html_summary {logdir log totals regressions improvements total_time} {
        puts $fd "</table>"
     }
 
-    # put detailed log
-    puts $fd "<h1>Details</h1>"
+    # put detailed log with TOC
+    puts $fd "<hr><h1>Details</h1>"
+    puts $fd "<div style=\"float:right; padding: 10px; border-style: solid; border-color: blue; border-width: 2px;\">"
 
     # process log line-by-line
     set group {}
     set letter {}
-    foreach line [lsort -dictionary [split $log "\n"]] {
+    set body {}
+    foreach line [lsort -dictionary $log] {
        # check that the line is case report in the form "CASE group grid name: result (explanation)"
        if { ! [regexp $_test_case_regexp $line res grp grd casename result message] } {
            continue
@@ -1303,44 +1299,47 @@ proc _log_html_summary {logdir log totals regressions improvements total_time} {
 
        # start new group
        if { $grp != $group } {
-           if { $letter != "" } { puts $fd "</tr></table>" }
+           if { $letter != "" } { lappend body "</tr></table>" }
            set letter {}
            set group $grp
            set grid {}
-           puts $fd "<h2>Group $group</h2>"
+           puts $fd "<a href=\"#$group\">$group</a><br>"
+           lappend body "<h2><a name=\"$group\">Group $group</a></h2>"
        }
 
        # start new grid
        if { $grd != $grid } {
-           if { $letter != "" } { puts $fd "</tr></table>" }
+           if { $letter != "" } { lappend body "</tr></table>" }
            set letter {}
            set grid $grd
-           puts $fd "<h3>Grid $grid</h3>"
+           puts $fd "&nbsp;&nbsp;&nbsp;&nbsp;<a href=\"#$group-$grid\">$grid</a><br>"
+           lappend body "<h2><a name=\"$group-$grid\">Grid $group $grid</a></h2>"
        }
 
        # check if test case name is <letter><digit>; 
        # if not, set alnum to period "." to recognize non-standard test name
-       if { ! [regexp {([A-Za-z]+)([0-9]+)} $casename res alnum number] } {
-           set alnum .
+       if { ! [regexp {\A([A-Za-z]{1,2})([0-9]{1,2})\Z} $casename res alnum number] &&
+             ! [regexp {\A([A-Za-z0-9]+)_([0-9]+)\Z} $casename res alnum number] } {
+           set alnum $casename
        }
 
        # start new row when letter changes or for non-standard names
        if { $alnum != $letter || $alnum == "." } {
            if { $letter != "" } { 
-               puts $fd "</tr><tr>" 
+               lappend body "</tr><tr>" 
            } else {
-               puts $fd "<table><tr>"
+               lappend body "<table><tr>"
            }
            set letter $alnum
        }           
 
-       puts $fd "<td bgcolor=\"[_html_color $result]\"><a href=\"$group/$grid/${casename}.html\">$casename</a></td>"
+       lappend body "<td bgcolor=\"[_html_color $result]\"><a href=\"$group/$grid/${casename}.html\">$casename</a></td>"
     }
-    puts $fd "</tr></table>"
+    puts $fd "</div>\n[join $body "\n"]</tr></table>"
 
     # add remaining lines of log as plain text
     puts $fd "<h2>Plain text messages</h2>\n<pre>"
-    foreach line [split $log "\n"] {
+    foreach line $log {
        if { ! [regexp $_test_case_regexp $line] } {
            puts $fd "$line"
        }
@@ -1358,7 +1357,7 @@ proc _log_summarize {logdir log {total_time {}}} {
 
     # sort log records alphabetically to have the same behavior on Linux and Windows 
     # (also needed if tests are run in parallel)
-    set loglist [lsort -dictionary [split $log "\n"]]
+    set loglist [lsort -dictionary $log]
 
     # classify test cases by status
     foreach line $loglist {
@@ -1400,7 +1399,7 @@ proc _log_summarize {logdir log {total_time {}}} {
     # save log to files
     if { $logdir != "" } {
        _log_html_summary $logdir $log $totals $regressions $improvements $total_time
-       _log_save $logdir/tests.log $log "Tests summary"
+       _log_save $logdir/tests.log [join $log "\n"] "Tests summary"
     }
 
     return
@@ -1432,7 +1431,7 @@ proc _log_xml_summary {logdir filename log include_cout} {
 
     # sort log and process it line-by-line
     set group {}
-    foreach line [lsort -dictionary [split $log "\n"]] {
+    foreach line [lsort -dictionary $log] {
        # check that the line is case report in the form "CASE group grid name: result (explanation)"
        if { ! [regexp $_test_case_regexp $line res grp grd casename result message] } {
            continue
@@ -1747,7 +1746,7 @@ proc _log_html_diff {file log dir1 dir2} {
     # "Executing <filename>..."
     puts $fd "<pre>"
     set logpath [file split [file normalize $file]]
-    foreach line [split $log "\n"] {
+    foreach line $log {
         puts $fd $line
 
         if { [regexp {IMAGE[ \t]+([^:]+):[ \t]+([A-Za-z0-9_.-]+)} $line res case img] } {
@@ -1948,3 +1947,38 @@ proc _get_temp_dir {} {
     file mkdir $fallback
     return $fallback
 }
+
+# extract of code from testgrid command used to process jobs running in 
+# parallel until number of jobs in the queue becomes equal or less than 
+# specified value
+proc _testgrid_process_jobs {worker {nb_ok 0}} {
+    # bind local vars to variables of the caller procedure
+    upvar log log
+    upvar logdir logdir
+    upvar job_def job_def
+    upvar nbpooled nbpooled
+    upvar userbreak userbreak
+    upvar refresh refresh
+    upvar refresh_timer refresh_timer
+
+    catch {tpool::resume $worker}
+    while { ! $userbreak && $nbpooled > $nb_ok } {
+        foreach job [tpool::wait $worker [array names job_def]] {
+            eval _log_test_case \[tpool::get $worker $job\] $job_def($job) log
+            unset job_def($job)
+            incr nbpooled -1
+        }
+
+        # check for user break
+        if { "[info commands dbreak]" == "dbreak" && [catch dbreak] } {
+            set userbreak 1
+        }
+
+        # update summary log with requested period
+        if { $logdir != "" && $refresh > 0 && [clock seconds] > $refresh_timer + $refresh } {
+           _log_summarize $logdir $log
+           set refresh_timer [clock seconds]
+        }
+    }
+    catch {tpool::suspend $worker}
+}
diff --git a/src/DrawResources/TestDraw.cxx b/src/DrawResources/TestDraw.cxx
deleted file mode 100755 (executable)
index ce0964c..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-// Copyright (c) 1998-1999 Matra Datavision
-// Copyright (c) 1999-2012 OPEN CASCADE SAS
-//
-// The content of this file is subject to the Open CASCADE Technology Public
-// License Version 6.5 (the "License"). You may not use the content of this file
-// except in compliance with the License. Please obtain a copy of the License
-// at http://www.opencascade.org and read it completely before using this file.
-//
-// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
-// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
-//
-// The Original Code and all software distributed under the License is
-// distributed on an "AS IS" basis, without warranty of any kind, and the
-// Initial Developer hereby disclaims all such warranties, including without
-// limitation, any warranties of merchantability, fitness for a particular
-// purpose or non-infringement. Please see the License for the specific terms
-// and conditions governing the rights and limitations under the License.
-
-
-
-// model of main program Draw
-
-#include <Draw.hxx>
-#include <Draw_Appli.hxx>
-
-// main passes main to Draw
-
-main(int argc, char** argv)
-{
-  Draw_Appli(argc,argv);
-}
-
-//*******************************
-//
-// Remove unused includes
-// to avoid overloading the link
-//
-//********************************
-
-#include <GeometryTest.hxx>
-
-// only is one makes the topology
-#include <BRepTest.hxx>
-
-// for the commands using topology
-#include <DBRep.hxx>
-
-
-// example of user command
-
-static Standard_Integer macommande (Draw_Interpretor& di,
-                                   Standard_Integer n, char** a)
-{
-  if (n < 2) return 1;   // error if not enough arguments
-
-  TopoDS_Shape S = DBRep::Get(a[1]);
-  if (S.IsNull()) {
-    cout << a[1] << " is not a shape" << endl;
-    return 1;
-  }
-
-  // .... do what you like with S .....
-
-  //... to return a chain to TCL, place it in di
-
-  di << a[1];
-
-  return 0;
-}
-
-
-// definition of commands
-
-void Draw_InitAppli(Draw_Interpretor& theCommands)
-{
-  Draw::Commands(theCommands);
-
-  // geometry
-  GeometryTest::AllCommands(theCommands);   // see GeometryTest.cdl for details
-
-  // for the topology
-  BRepTest::AllCommands(theCommands);       // see BRepTest.cdl for details
-
-
-  // user commands
-
-  theCommands.Add("macommande","macommande and its help",macommande);
-}
diff --git a/src/DrawResources/Tests.tcl b/src/DrawResources/Tests.tcl
deleted file mode 100755 (executable)
index 4690f6c..0000000
+++ /dev/null
@@ -1,835 +0,0 @@
-# Copyright (c) 1999-2012 OPEN CASCADE SAS
-#
-# The content of this file is subject to the Open CASCADE Technology Public
-# License Version 6.5 (the "License"). You may not use the content of this file
-# except in compliance with the License. Please obtain a copy of the License
-# at http://www.opencascade.org and read it completely before using this file.
-#
-# The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
-# main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
-#
-# The Original Code and all software distributed under the License is
-# distributed on an "AS IS" basis, without warranty of any kind, and the
-# Initial Developer hereby disclaims all such warranties, including without
-# limitation, any warranties of merchantability, fitness for a particular
-# purpose or non-infringement. Please see the License for the specific terms
-# and conditions governing the rights and limitations under the License.
-
-#
-# tclsh tools to browse tests
-#
-# xab : 22-Mar-96  rajout de floatDifference pour eviter des diffs
-#                  en fonction de la tolerance DiffTestTolerance
-# pmn : 25-Sept-96 masterRoot sans reference explicite a gti 
-#                 (pour une utilisation Aixoise)
-# xab : 12-Nov-996 nouveau trap dans les comptes rendus
-#                  INV par checkshape ou checktopshape
-# xab : 22/11/96  : on a encore besoin des 3 variables d'environement
-#                   WBCONTAINER
-#                   WBROOT
-#                   STATION
-# xab : 10-Mar-97 : string compare au lieu de != dans les diffs
-#
-####################################################
-# Error list
-####################################################
-
-set nomatch "ZXWYWXZ"
-set theErrors {
-    { nomatch                   "NOLOGFILE" "no result for the test"}
-    { nomatch                   "OK       " "no error and no difference"}
-    { nomatch                   "NO       " "no error and no master file to compare"}
-    { nomatch                   "NOEND    " "abnormal termination"}
-    { "An exception was caught" "CATCH    " "an exception was caught"}
-    { "segv"                    "SEGV     " "segmentation violation"}
-    { "ERROR"                   "ERROR    " "user generated error"}
-    { "NYI"                     "NYI      " "This test is not yet implemented"}
-    { "Cpu Limit Exceeded"      "CPULIM   " "CPU limit exceeded"}
-    { "BRepCheck_"              "INV      " "invalid result"}    
-}
-
-####################################################
-# Variables
-####################################################
-set DiffTestTolerance 1.0e-6
-
-set theStation $env(STATION)
-
-if {$theStation=="wnt"} {
-    set ExeMachinePath  drv\\DFLT\\$env(STATION)
-    set exePath         $env(WBROOT)\\prod
-#    set testRoot        $env(WBCONTAINER)\\test
-    set testRoot        $env(WBCONTAINER)
-    set resultRoot      $env(WBROOT)\\work\\result$env(STATION)
-    set masterRoot      $env(WBROOT)\\work\\master
-} else {
-    set ExeMachinePath  drv/DFLT/$env(STATION)
-    set ExePath         $env(WBROOT)/$env(STATION)/bin
-    set testRoot        $env(WBCONTAINER)
-    set resultRoot      $env(WBROOT)/work/result$env(STATION)
-    set masterRoot      $env(WBROOT)/work/master
-}
-puts "$testRoot  et        $env(WBCONTAINER) "
-#
-## customize default values, if "setenv" has been set by AQ Team  -plb/13feb97-
-
-foreach el1 [array names env] {
-    if       { [ string compare $el1 "DRAW_TEST_ROOT" ] == 0 }   {
-       set testRoot   $env($el1)
-    } elseif { [ string compare $el1 "DRAW_TEST_RESULT" ] == 0 } {
-       set resultRoot $env($el1)
-    } elseif { [ string compare $el1 "DRAW_TEST_MASTER" ] == 0 } {
-       set masterRoot $env($el1)
-    }
-}
-
-
-set theUL       ""
-set theFunction ""
-set theTest     ""
-set theExec     ""
-set themode     ""
-
-# name of Draw process to send
-set theDraw     "Draw"
-set FILTRE      ""
-set DIFF        ""
-set RESULT      ""
-set PREVIOUS    ""
-set TEMP        ""
-
-set listUL       {}
-set listFunction {}
-set listTest     {}
-
-set theLog            ""
-set theMasterLog      ""
-set theXWDFiles       {}
-set theMasterXWDFiles {}
-
-set theStatusHeader "Result    LOG  XWD"
-set theStatus       ""
-set theStatusLine   ""
-set theErrorLines   {}
-set theDiffs        {}
-
-
-####################################################
-# List from a directory
-####################################################
-
-# match what is not a test
-set testRegExp \
-       "^(Applet_GridTest|modeles|scripts|data|bin|help|begin.*|begin_wnt|end.*|grid|executables|readme|image|save|read.me|photo.*|.*~|#.*#)$"
-
-proc mkListTests root {
-    global testRegExp  Wok theStation env
-    set l {}
-
-    if {$theStation=="wnt"} {
-       foreach f [exec $env(WOKHOME)\\lib\\wnt\\ls.exe  $root] {
-           set f [file tail $f]
-           if [regexp $testRegExp $f] continue
-               lappend l $f
-       }
-    } else {
-        foreach f [glob -nocomplain $root/*] {
-           set f [file tail $f]
-           if [regexp $testRegExp $f] continue
-           lappend l $f
-       }
-    }
-    return [lsort $l]
-}
-
-####################################################
-# Junky Heuristic to compare numbers in tests 
-####################################################
-
-proc floatDifference { line1 line2 } {
-    global DiffTestTolerance 
-    set has_number 0
-    for { set ii 1 } { $ii <= 3 } { incr ii } {
-       for { set jj 1 } { $jj <= 3 } { incr jj } {
-           set number($ii,$jj) 0.0e0 
-       }
-    }
-    if { [regexp { ([0-9]+\.[0-9]+e-([0-9]+))|([0-9]+\.[0-9]*)} $line1  number(1,1) number(1,2) number(1,3) ] } {
-       if { [regexp { ([0-9]+\.[0-9]+e-([0-9]+))|([0-9]+\.[0-9]*)} $line2 number(2,1) number(2,2)  number(2,3) ] } {
-           for { set ii 1 } { $ii <= 3 } { incr ii } {
-               if { $number(1,$ii) != "" && $number(2,$ii) != "" } {
-                   if { [ regexp {\.} $number(1,$ii) ] && [ regexp {\.} $number(2,$ii) ] } {
-                       set has_number 1 
-                       set diff [ expr $number(1,$ii) - $number(2,$ii) ]
-                       set diff [ expr abs($diff) ] 
-                       if { $diff > $DiffTestTolerance } {
-                           return 1
-                       
-                       }
-                   }
-               }
-           }
-                       
-       }
-    }
-
-#
-# scabreux mais donne de bon resultat
-#
-    if { $has_number } {
-       return 0
-    } else {
-       return 1 
-    }
-           
-}
-
-####################################################
-# compute the current test status
-####################################################
-
-proc computeStatus {} {
-    global testRoot resultRoot masterRoot
-    global theUL theFunction theTest
-    global theLog theMasterLog theXWDFiles theMasterXWDFiles
-    global theErrors theStatus theStatusLine theErrorLines theDiffs
-    
-    set hasresult [file readable $theLog]
-    if {! $hasresult} {
-       set theStatus     "-"
-       set theStatusLine "NOLOGFILE"
-       set theErrorLines {}
-       set theDiffs      {}
-       return
-    }
-    set hasmaster [file readable $theMasterLog]
-
-    # analyse the log file and compare to the master
-    set curline    0
-    set error      ""
-    set errorlines {} 
-    set diffs      {}
-    set completed  0
-
-    set f [open $theLog]
-    if $hasmaster {set g [open $theMasterLog]}
-    set moremaster $hasmaster
-
-
-    while {[gets $f line] >= 0} {
-       incr curline
-       # difference with master
-       if {$moremaster} {
-           if {[gets $g mline] >= 0} {
-               # compare the two lines
-               if { [ string compare $line $mline ] } {
-                   if { [ floatDifference  $mline $line  ] } {
-                       lappend diffs $curline
-                    }
-               }
-           } else {
-               # the master file is finished
-               set moremaster 0
-               lappend ldiff $curline
-           }
-       }
-
-       # search for errors
-       foreach err $theErrors {
-           if [regexp [lindex $err 0] $line] {
-               if {[llength $errorlines] == 0} {set error [lindex $err 1]}
-               lappend errorlines $curline
-           }
-       }
-
-       # check for end of test
-       if [regexp "TEST COMPLETED" $line] {
-           set completed 1
-       }
-    }
-
-    close $f
-    if $hasmaster {close $g}
-
-    set status "*"
-    set statusline $error
-    if {$error == ""} {
-       if {! $completed} {
-           set statusline "NOEND    "
-       } else {
-           set statusline "OK       "
-           set status " "
-       }
-    }
-
-    if {$hasmaster} {
-       if [llength $diffs] {
-           append statusline " DIFF"
-           set status "*"
-       } else {
-           append statusline " OK  "
-       }
-    } else {
-           append statusline " NO  "
-    }
-    
-    # xwd files
-
-    if [llength $theXWDFiles] {
-       # here we should compare the XWD files
-       if [llength $theMasterXWDFiles] {
-           append statusline " OK    "
-       } else {
-           append statusline " NO    "
-       }
-    } else {
-           append statusline " NOXWD "
-    }
-    
-    # set results
-    
-    set theStatus     $status
-    set theStatusLine $statusline
-    set theErrorLines $errorlines
-    set theDiffs      $diffs
-}
-
-####################################################
-# trace on variables to update the lists
-####################################################
-
-trace variable theUL w theULProc 
-proc theULProc {name element op} {
-    global theUL testRoot listFunction
-    global theStation
-
-    # Met a jour la liste des fonctions
-    if {$theUL == ""} {
-       set listFunction {}
-    } else {
-       set listFunction [mkListTests $testRoot/$theUL]
-    }
-}
-
-trace variable theFunction w theFunctionProc
-proc theFunctionProc {name element op} {
-    global testRoot theUL theFunction listTest
-    global theStation
-
-    # Met a jour la liste des tests
-    if {$theFunction == ""} {
-       set listTest {}
-    } else {
-       set listTest [mkListTests $testRoot/$theUL/$theFunction]
-    }
-}
-
-trace variable theTest w theTestProc
-proc theTestProc {name element op} {
-    global resultRoot masterRoot theUL theFunction theTest
-    global theLog theMasterLog theXWDFiles theMasterXWDFiles
-    global theStation
-
-    if {$theStation=="wnt"} {
-       
-       # update the result variables
-       set theLog       $resultRoot\\$theUL\\$theFunction\\$theTest.log
-       set theMasterLog $masterRoot\\$theUL\\$theFunction\\$theTest.log
-       set theXWDFiles \
-               [glob -nocomplain \
-               $resultRoot\\$theUL\\$theFunction\\${theTest}.*.xwd.Z]
-       
-       set theMasterXWDFiles \
-               [glob -nocomplain \
-               $masterRoot\\$theUL\\$theFunction\\${theTest}.*.xwd.Z]
-    } else {
-       # update the result variables
-       set theLog       $resultRoot/$theUL/$theFunction/$theTest.log
-       set theMasterLog $masterRoot/$theUL/$theFunction/$theTest.log
-       set theXWDFiles \
-               [glob -nocomplain \
-               $resultRoot/$theUL/$theFunction/${theTest}.*.xwd.Z]
-       
-       set theMasterXWDFiles \
-               [glob -nocomplain \
-               $masterRoot/$theUL/$theFunction/${theTest}.*.xwd.Z]
-    }  
-
-    # update the status
-    computeStatus
-}
-
-trace variable listUL w  listULProc
-proc listULProc {name element op} {
-    global listUL theUL
-    if [llength $listUL] {
-       set theUL [lindex $listUL 0]
-    } else {
-       set theUL ""
-    }
-}
-
-trace variable listFunction w  listFunctionProc
-proc listFunctionProc {name element op} {
-    global listFunction theFunction
-    if [llength $listFunction] {
-       set theFunction [lindex $listFunction 0]
-    } else {
-       set theFunction ""
-    }
-}
-
-trace variable listTest w  listTestProc
-proc listTestProc {name element op} {
-    global listTest theTest
-    if [llength $listTest] {
-       set theTest [lindex $listTest 0]
-    } else {
-       set theTest ""
-    }
-}
-
-####################################################
-# procedure to change test
-####################################################
-
-proc nextUL {} {
-    global listUL theUL
-    set l [llength $listUL]
-    if ($l) {
-       set i [lsearch $listUL $theUL]
-       incr i
-       if {$i < $l} {
-           set theUL [lindex $listUL $i]
-           return
-       }
-    }
-    set theUL ""
-}
-
-proc nextFunction {} {
-    global listFunction theFunction
-    set l [llength $listFunction]
-    if ($l) {
-       set i [lsearch $listFunction $theFunction]
-       incr i
-       if {$i < $l} {
-           set theFunction [lindex $listFunction $i]
-           return
-       }
-    }
-    nextUL
-}
-
-proc nextTest {} {
-    global listTest theTest
-    set l [llength $listTest]
-    if ($l) {
-       set i [lsearch $listTest $theTest]
-       incr i
-       if {$i < $l} {
-           set theTest [lindex $listTest $i]
-           return
-       }
-    }
-    nextFunction
-}
-
-proc nextWithResult {} {
-    global theUL theTest theStatus
-    while 1 { 
-       nextTest
-       if {$theUL == ""} break
-       if {$theTest == ""} continue
-       if {$theStatus == "-"} continue
-       break
-    }
-}
-
-proc nextWithError {} {
-    global theStatus theUL
-    while 1 {
-       nextWithResult
-       if {$theUL == ""} break
-       if {$theStatus == "*"} break
-    }
-}
-
-####################################################
-# run the current Test
-####################################################
-
-proc runTest {} {
-    global themode theDraw Drawid 
-    global RESULT PREVIOUS TEMP DIFF FILTRE
-    global testRoot resultRoot theExec theLog
-    global theUL theFunction theTest
-    global ExePath  ExeMachinePath
-    global theStation theTmp theDrawHome theTmp1
-    global cmdexec protect
-    global testRootNT env
-    
-    
-    puts "  theUL $theUL theFunction $theFunction test  $theTest "
-    puts "thest == $theStation"
-    
-    if {$theTest == ""} return
-    
-    set exe $theExec
-    
-    if {$exe == "" } {
-
-       if {$theStation=="wnt"} { 
-           set exe "${ExePath}\\T${theUL}\\${ExeMachinePath}\\T${theUL}"
-       } else {
-           set exe "${ExePath}/T${theUL}"
-       }
-    }
-    
-    if {![file exists $resultRoot]} {
-       if {$theStation=="wnt"} {
-           set stat1 [catch {file mkdir $resultRoot} iscreated ]
-           #       [exec $cmdexec $resultRoot] 
-       } else {
-           catch {exec mkdir $resultRoot}
-           catch {exec chmod 777 $resultRoot}
-       }
-    }
-    
-    cd $resultRoot
-    
-    if {![file isdirectory $resultRoot/$theUL]} {
-       if { $theStation == "wnt" }  {
-           set statpop [catch {file mkdir $resultRoot/$theUL} erreurfile ]
-           if { $statpop != 0 } { puts "erreurfile == $erreurfile " }
-           #       [exec $cmdexec $protect $theUL]
-       } else {
-           catch {exec mkdir $resultRoot/$theUL}
-           catch {exec chmod 777 $resultRoot/$theUL}
-       }
-    }
-    
-    cd $resultRoot/$theUL
-    
-    if {![file isdirectory $resultRoot/$theUL/$theFunction]} {
-       if {$theStation=="wnt"} {
-            set stat1 [catch {file mkdir $resultRoot/$theUL/$theFunction} iscreated ]
-           if {$stat1 != 0 } { puts "iscreated == $iscreated " }
-           #           [exec $cmdexec $protect $theUL]
-       } else {
-           catch {exec mkdir $resultRoot/$theUL/$theFunction}
-           catch {exec chmod 777 $resultRoot/$theUL/$theFunction}
-       }
-    }
-    cd $resultRoot/$theUL/$theFunction
-    
-    # run the test
-    if {$theStation=="wnt"} {
-       catch {file delete $theLog}
-    } else {
-       catch {exec rm -f $theLog}
-    }
-    
-    foreach f [glob -nocomplain ${theTest}.*.xwd.Z] {catch {exec $cmdexec $del $f}}
-   
-
-    if {$theStation=="wnt"} {
-       set f  $resultRoot/$theUL/$theFunction/${theTest}[pid]
-       set f1 $resultRoot/$theUL/$theFunction/${theTest}[pid]
-       set ff [open $f1 w]
-    } else {
-       set f /tmp/theTest[pid]
-       set ff [open $f w]
-    }
-    ## send current infos in "begin" script for customize by AQ Team  -plb/14feb97-
-    puts $ff "set testinfos(resultRoot)  $resultRoot"
-    puts $ff "set testinfos(theUL)       $theUL"
-    puts $ff "set testinfos(theFunction) $theFunction"
-    puts $ff "set testinfos(theTest)     $theTest"
-    if {$themode == "samedraw"} {
-       puts $ff "cd $resultRoot/$theUL/$theFunction"
-    }
-    
-    close $ff
-
-    puts "testRoot $testRoot"
-
-    cd $resultRoot/$theUL/$theFunction
-
-    if {$theStation=="wnt"} {
-       set fff  $resultRoot/$theUL/$theFunction/${theTest}[pid]-pop
-       set fpop [open $fff w]
-       for_file line $f1                                    { puts $fpop $line }
-       for_file line $testRoot/begin                        { puts $fpop $line }
-       if {[file exist  $testRoot/$theUL/begin_wnt  ] } { 
-           for_file line $testRoot/$theUL/begin_wnt             { puts $fpop $line }
-       }
-       if {[file exist  $testRoot/$theUL/$theFunction/begin_wnt]} {
-           for_file line $testRoot/$theUL/$theFunction/begin_wnt { puts $fpop $line }
-       } else {
-           if {[file exist  $testRoot/$theUL/$theFunction/begin]} {
-               for_file line $testRoot/$theUL/$theFunction/begin { puts $fpop $line }
-           }
-       }       
-       for_file line $testRoot/$theUL/$theFunction/$theTest { puts $fpop $line }
-       if { [ file exists $testRoot/$theUL/end ] } {
-           for_file line $testRoot/$theUL/end                   { puts $fpop $line }
-       }
-       if { [ file exists $testRoot/end ] } {
-           for_file line $testRoot/end                          { puts $fpop $line }
-       }
-       puts $fpop "exit"
-       if {[file exist $resultRoot/$theUL/$theFunction/${theTest}[pid] ] } {
-           file delete $resultRoot/$theUL/$theFunction/${theTest}[pid]
-       }
-       close $fpop
-       file copy $fff $f1
-       file delet $fff
-    } else {
-       catch {exec cat -s \
-                  $testRoot/begin \
-                  $testRoot/$theUL/begin \
-                  $testRoot/$theUL/$theFunction/begin \
-                  $testRoot/$theUL/$theFunction/$theTest \
-                  $testRoot/$theUL/$theFunction/end \
-                  $testRoot/$theUL/end \
-                  $testRoot/end >> $f}
-       
-       set testroot $testRoot
-    }
-    if {$theStation=="wnt"} {
-       set f3 $resultRoot/$theUL/$theFunction/${theTest}.log
-       if { [file exists $f3] } { file delete $f3 } 
-       puts "l'executable == $exe"
-       puts "testRoot == $testRoot"
-       #puts "input  == $f1"
-       #puts "output == $f3"
-       catch { exec $exe -f $f1 -o $f3 } popstatus
-       puts $popstatus
-       
-    } else {
-       if {$themode != "samedraw" } {
-           catch { exec $exe -f $f >& ${theTest}.log }
-       } else {
-           # the draw est il toujours valide ?
-           set myList [winfo interps]
-           set DrawExists "0"
-           for {set i 0} { $i < [expr [llength $myList]] } { incr i } {
-               set p [lindex $myList $i]
-               if {$p == $theDraw} {set DrawExists "1"}
-           }
-           if { $DrawExists == "0"} {
-               puts "Pas de Draw, on en lance un !!"
-           }
-           while { $DrawExists == "0"} {
-               set myList [winfo interps]
-               set mylen [llength $myList]
-               while { [catch { exec $theExec -l >& $RESULT & } message] } {
-                   puts $message
-               }
-               set Drawid $message
-               # On espere avoir lance un draw, on recupere son nom
-               # comme on peut. La methode utilisee est extremement
-               # plantatoire, il faudrait pouvoir trouver le numero
-               # du process !?!
-               set i 0
-               while { $myList == [winfo interps] && [expr $i] < 20 } {
-                   sleep 1
-                   puts "1s d attente"
-                   incr i
-               }
-               if {  [expr $i] < 20 } {
-                   sleep 2
-                   puts "2s d attente"
-                   set newList [winfo interps]
-                   set newlen [llength $newList]
-                   set theDraw ""
-                   puts $myList
-                   puts $newList
-                   for {set i 0} { $i < [expr $newlen] && !$DrawExists } { incr i } {
-                       set DrawExists 1
-                       set theDraw [lindex $newList $i]
-                       for {set j 0} { $j < [expr $mylen]} {incr j} {
-                           set p [lindex $myList $j]
-                           if { $p == $theDraw} {
-                               set DrawExists 0
-                           }
-                       }
-                   }
-               }
-               if { $DrawExists } {
-                   puts "nouvelle appli : $theDraw"
-               } else {
-                   puts "echec creation nouveau Draw, on recommence"
-                   set theDraw ""
-                   if { [catch { exec kill -9 $Drawid } mes] } { 
-                       puts $mes 
-                   } else {
-                       puts "le process etait bien la, mais le Draw n est pas venu!?!"
-                   }
-               }
-           }
-           
-           exec cp $RESULT $PREVIOUS
-           
-           if { [catch {send $theDraw "source $f"} mes]} {
-               puts $mes
-               puts "on tue le Draw"
-               set theDraw ""
-               if { [catch { exec kill -9 $Drawid } mes] } { puts $mes }
-           }
-
-           catch {exec $DIFF $PREVIOUS $RESULT > $TEMP}
-           catch {exec cat $TEMP | $FILTRE >> ${theTest}.log}
-       }
-       
-    }
-    
-
-    if {$theStation=="wnt"} {
-       catch {file delete $f1} 
-    } else {
-        catch {exec rm -f $f}
-    }
-    
-    if { $theStation == "wnt" } {
-       catch {exec $cmdexec attrib ${theTest}.log}
-    } else {
-       catch { exec chmod 666 ${theTest}.log }
-    }
-    
-    
-    # process photos    
-    foreach f [glob -nocomplain photo*] {
-       set g $theTest.[string range $f 5 end].xwd
-       puts "Processing $g"
-       if {$theStation=="wnt"} { 
-           catch {exec $cmdexec $move $f $g}
-       } else {
-           catch { exec mv -f $f $g }
-       }
-       catch {exec compress $g}
-       if {$theStation=="wnt"} { 
-           catch { exec $cmdexec attrib $g.Z }
-       } else {
-           catch { exec chmod 666 $g.Z }
-       }
-    }
-    
-    #enforce update
-    set theTest $theTest
-}
-
-####################################################
-# send the current test 
-# to the process $theDraw
-####################################################
-
-proc sendTest {} {
-    global testRoot resultRoot theExec theLog theDraw
-    global theUL theFunction theTest
-    global theStation
-    
-    if {$theTest == ""} return
-    
-    puts "Sending $theUL $theFunction $theTest to $theDraw"
-    if {$theStation=="wnt"} {
-       set f  $resultRoot\\\\$theUL\\\\$theFunction\\\\${theTest}[pid]
-       set f1 $resultRoot\\\\$theUL\\\\$theFunction\\\\${theTest}[pid]
-       set f2 $resultRoot\\\\$theUL\\\\$theFunction\\\\${theTest}.log
-       set ff [open $f1 w]
-       set gg [open $f2 w]
-       #set ff2 [open $f2 w]
-       puts $ff "set testroot $testRootNT"
-    } else {
-       set f /tmp/theTest[pid]
-       set ff [open $f w]
-       puts $ff "set testroot $testRoot"
-    }
-    
-## send current infos in "begin" script for customize by AQ Team  -plb/14feb97-
-    puts $ff "set testinfos(resultRoot)  $resultRoot"
-    puts $ff "set testinfos(theUL)       $theUL"
-    puts $ff "set testinfos(theFunction) $theFunction"
-    puts $ff "set testinfos(theTest)     $theTest"
-    close $ff
-
-    if {$theStation=="wnt"} {
-       set stat1 [catch {exec cmd /C copy /A \ $f1 + $testRoot\\begin + $testRoot\\$theUL\\begin_wnt + $testRoot\\$theUL\\$theFunction\\begin + $testRoot\\$theUL\\$theFunction\\$theTest + $testRoot\\$theUL\\$theFunction\\end + $testRoot\\$theUL\\end + $testRoot\\end + $f1} myerro]
-       send $theDraw "source $f1"
-    } else {
-       catch {exec cat -s \
-                  $testRoot/$theUL/begin \
-                  $testRoot/$theUL/$theFunction/begin \
-                  $testRoot/$theUL/$theFunction/$theTest \
-                  $testRoot/$theUL/$theFunction/end \
-                  $testRoot/$theUL/end  >> $f}
-       send $theDraw "source $f"
-    }
-}
-
-####################################################
-# clear result, copy master
-####################################################
-
-proc clearResult {} {
-    global theTest theLog theXWDFiles
-    catch {exec rm -f $theLog}
-    foreach f  $theXWDFiles {catch {exec rm -f $f}}
-
-    #enforce update
-    set theTest $theTest
-}
-
-proc copyMaster {} {
-
-    global theLog theXWDFiles
-    global theMasterLog theMasterXWDFiles
-    global masterRoot theUL theFunction theTest
-
-    catch {exec rm -f $theMasterLog}
-    foreach f $theMasterXWDFiles {catch {exec rm -f  $f}}
-
-    if {![file isdirectory $masterRoot/$theUL]} {
-       if {$theStation=="wnt"} {
-               cd $masterRoot
-               file mkdir $theUL
-               #catch {exec $cmdexec mkdir $masterRoot\\$theUL}
-               #catch {exec $cmdexec $protect $masterRoot\\$theUL}
-       } else {
-           catch {exec mkdir $masterRoot/$theUL}
-           catch {exec chmod 777 $masterRoot/$theUL}
-       }
-    }
-
-    if {![file isdirectory $masterRoot/$theUL/$theFunction]} {
-       if {$theStation=="wnt"} {
-               cd $theUL
-               file mkdir $theFunction
-               #catch {exec $cmdexec mkdir $masterRoot\\$theUL\\$theFunction}
-               #catch {exec $cmdexec $protect $masterRoot\\$theUL\\$theFunction}
-       } else {
-           catch {exec mkdir $masterRoot/$theUL/$theFunction}
-           catch {exec chmod 777 $masterRoot/$theUL/$theFunction}
-       }
-    }
-
-    if {$theStation=="wnt"} {set d $masterRoot\\$theUL\\$theFunction
-} else {set d $masterRoot/$theUL/$theFunction}
-    if [file readable $theLog] {catch {exec cp $theLog $d}}
-    foreach f $theXWDFiles {catch {exec cp $f $d}}
-
-    # enforce update
-    set theTest $theTest
-}
-
-####################################################
-# Make the initial list of UL
-####################################################
-
-proc init {} {
-    global listUL testRoot
-    set listUL [mkListTests $testRoot]
-}
diff --git a/src/DrawResources/mdltest b/src/DrawResources/mdltest
deleted file mode 100755 (executable)
index 236bdef..0000000
+++ /dev/null
@@ -1,236 +0,0 @@
-#!/bin/sh
-# The next line is executed by /bin/sh, but not Tcl \
-  exec tclsh $0 ${1+"$@"}
-
-
-
-#
-#  suite au passage a tk4.1 on a plus besoin des references
-#  a TCL-1-1
-#
-# batch test command
-##########################################################
-#
-#  initialisation de  env(STATION)  
-#                     env(WBCONTAINER)
-#                     env(WBROOT)      
-#
-
-#package require Tk
-
-puts $env(DRAWHOME)
-source $env(DRAWHOME)/InitEnvironment.tcl
-
-source $env(DRAWHOME)/Tests.tcl
-
-# xab : 22/11/96  : on a encore besoin des 3 variables d'environement
-#                   WBCONTAINER
-#                   WBROOT
-#                   STATION
-#   usage
-#
-proc help {} {
-    global resultRoot masterRoot testRoot
-    puts {mdltest -h -hc -c -l -x executable -t testdir -r resultdir -m masterdir UL function test}
-    puts ""
-    puts "Run & compare modeling team tests."
-    puts ""
-    puts "-hc help on comparisons"
-    puts "-l  only list the tests"
-    puts "-c  performs only the comparisons"
-    puts "-o  executable is run once for all tests"
-    puts ""
-    puts "-x executable : to run the test"
-    puts "   none        use the executable TUL for each UL"
-    puts "   -x compare  performs only the comparisons"
-    puts "   -x list     only list the tests"
-    puts ""
-    puts "-t testdir   : root of the test hierarchy"
-    puts "   default   : $testRoot"
-    puts ""
-    puts "-r resultdir : to store the results, or source for comparisons"
-    puts "   default   : $resultRoot"
-    puts "   must be a writable directory"
-    puts ""
-    puts "-m masterdir : reference results for comparisons"
-    puts "   default   : $masterRoot"
-    puts ""
-    puts "UL function test : performs this test"
-    puts "UL function      : performs all tests for this function"
-    puts "UL               : performs all tests for all functions of this UL"
-    puts "                 : performs all test"
-    puts ""
-    puts "UL function Test can be patterns (quote to protect from csh)"
-    puts "example : mdltest -l '*' '*curve*'"
-    puts ""
-    exit
-}
-proc helpcomp {} {
-    global theErrors
-    puts ""
-    puts "Result of comparisons"
-    puts "====================="
-    puts ""
-    puts "For each test a status line is displayed of the following format"
-    puts ""
-    puts "xUL Function Test     Result Log XWD"
-    puts ""
-    puts "x is a single caracter : "
-    puts "  ' ' : means no problem"
-    puts "  '-' : means no result fro the test"
-    puts "  '*' : means error detected or difference with the master"
-    puts ""
-    puts "Result is the status of the log file analysis : "
-    foreach err $theErrors {
-       puts "  [lindex $err 1] : means [lindex $err 2]"
-    }
-    puts ""
-    puts "Log is the result of the logfile comparisons"
-    puts "  OK    : means no differences"
-    puts "  NO    : means no master logfile to compare with"
-    puts "  DIFF  : means differences"
-    puts ""
-    puts "XWD is the result of the image comparisons"
-    puts "  OK    : means no differences"
-    puts "  NO    : means no master images to compare with"
-    puts "  DIFF  : means differences"
-
-
-    exit
-}
-
-# analyze arguments
-
-set more 1
-while {$more} {
-    set more 1
-    set shift 2
-    switch -exact a[lindex $argv 0] {
-       "a-x"     {set theExec    [lindex $argv 1]}
-       "a-t"     {set testRoot   [lindex $argv 1]}
-       "a-r"     {set resultRoot [lindex $argv 1]}
-       "a-m"     {set masterRoot [lindex $argv 1]}
-       "a-l"     {set theExec "list"; set shift 1;}
-       "a-c"     {set theExec "compare"; set shift 1;}
-       "a-o"     {set themode "samedraw"; set shift 1;}
-       "a-hc"    {helpcomp}
-       "a-h"     {help}
-       default   {set more 0}
-    }
-    if $more {set argv [lrange $argv $shift end]}
-}
-
-puts ""
-puts "Executable       : $theExec"
-puts "Test   Directory : $testRoot"
-puts "Result Directory : $resultRoot"
-puts "Master Directory : $masterRoot"
-
-if {![file isdirectory $resultRoot]} {
-    puts "$resultRoot is not a directory"
-    exit
-}
-
-set UL       "*"  
-set Function "*"
-set Test     "*"
-
-if {[llength $argv] >= 1} {set UL       [lindex $argv 0]}
-if {[llength $argv] >= 2} {set Function [lindex $argv 1]}
-if {[llength $argv] >= 3} {set Test     [lindex $argv 2]}
-
-puts ""
-puts "UL       : $UL"
-puts "Function : $Function"
-puts "Test     : $Test"
-
-init
-
-# used to compute length for formatting the result
-set l 0
-
-if { $themode == "samedraw" } {
-    set theDraw     ""
-    set FILTRE      "/tmp/FILTRE[pid]"
-    set DIFF        "/tmp/DIFF[pid]"
-    set RESULT      "/tmp/RESULT[pid]"
-    set PREVIOUS    "/tmp/PREVIOUS[pid]"
-    set TEMP        "/tmp/TEMP[pid]"
-    #on compile le Diff et le Filtre a Diff
-    if { [catch { eval "exec $env(MDLTEST_COMPIL) $env(DRAWHOME)/Filtre.c -c -o ${FILTRE}.o" } mes] } { puts $mes }
-    if { [catch { eval "exec $env(MDLTEST_COMPIL) ${FILTRE}.o -o $FILTRE" } mes] } { puts $mes }
-    if { [catch { eval "exec $env(MDLTEST_COMPIL) $env(DRAWHOME)/DIFF.c -c -o ${DIFF}.o" } mes] } { puts $mes }
-    if { [catch { eval "exec $env(MDLTEST_COMPIL) ${DIFF}.o -o $DIFF" } mes] } { puts $mes }
-}
-
-while {$theUL != ""} {
-    if {! [string match $UL $theUL] }            {nextUL; continue;}
-    if {! [string match $Function $theFunction]} {nextFunction; continue;}
-    if {[string match $Test $theTest]} {
-       if [file readable $testRoot/$theUL/$theFunction/$theTest] {
-           if {$theExec == "list"} {
-               puts "$theUL $theFunction $theTest"
-           } else {
-               if {$theExec != "compare"} runTest
-               set l2 [string length "$theUL $theFunction $theTest"]
-               if {$l2 > $l} {set l $l2}
-           }
-       } else {
-           puts "Test does not exist : $theUL $theFunction $theTest"
-       }
-    }
-    nextTest
-}
-
-# Pour les tests effectues dans 1 seul exe, on sort!!
-if { $themode == "samedraw" } { 
-    catch { send $theDraw "exit" } 
-}
-
-
-# do the comparisons
-
-
-if {$theExec    == "list"} exit
-if {$masterRoot == ""}     exit
-
-set count 1
-incr l 4
-
-init
-
-puts ""
-while {$theUL != ""} {
-    if {! [string match $UL $theUL] }            {nextUL; continue;}
-    if {! [string match $Function $theFunction]} {nextFunction; continue;}
-    if {[string match $Test $theTest]} {
-       if [file readable $testRoot/$theUL/$theFunction/$theTest] {
-           if {$count == 1} {
-               set s "  UL Function Test"
-               puts -nonewline $s
-               for {set i [string length $s]} {$i <= $l} {incr i} {puts -nonewline " "}
-               puts $theStatusHeader
-           }
-           incr count
-           set s "$theStatus $theUL $theFunction $theTest :"
-           puts -nonewline $s
-           for {set i [string length $s]} {$i <= $l} {incr i} {puts -nonewline " "}
-           puts $theStatusLine
-       }
-    }
-    nextTest
-}
-
-# destruction de la petite fenetre merdique.
-catch { destroy . }
-
-#on vire le Diff et le Filtre a Diff
-if { $themode == "samedraw" } {
-    catch { unlink $FILTRE } 
-    catch { unlink ${FILTRE}.o } 
-    catch { unlink $DIFF } 
-    catch { unlink ${DIFF}.o } 
-    catch { unlink $RESULT } 
-    catch { unlink $PREVIOUS } 
-    catch { unlink $TEMP } 
-}
diff --git a/src/DrawResources/test2xl b/src/DrawResources/test2xl
deleted file mode 100755 (executable)
index 79b8ee2..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-#!/bin/sh
-# 
-# this script converts the result from mdltest to a MS EXCEL readable formated spreed sheet 
-#
-# The next line is executed by /bin/sh, but not Tcl \
-  exec tclsh $0 ${1+"$@"}
-
-if {$argc != 1} {
-    error "Usage: test2xl filename"
-}
-set sourfile [open [lindex $argv 0] r]
-set dir  $env(PWD)
-
-# set result [open toot r]
-set p "   "
-while {[ gets $sourfile line ] >= 0 } {
-  if [regexp {GRILLES-BOOLEAN ([a-zA-Z0-9]*) ([a-zA-Z][0-9]) : ([\ ]*) ([a-zA-Z]*)} $line dummy EDCnb AZnb dummy1 oko] {
-    if {$AZnb == "A1"} {
-#      close $result
-      set file $EDCnb 
-      append file ".txt"
-      set result [open $file w]
-      puts ":: $EDCnb"
-      puts $result ":: $EDCnb"
-      puts ": 1 commun : 2 fusion : 3 coupe 1 par 2 : 4 coupe 2 par 1 "
-      puts $result ": 1 commun : 2 fusion : 3 coupe 1 par 2 : 4 coupe 2 par 1 "
-    }
-    append p $oko
-    append p ":"
-    if {$oko != "OK"} {
-      set oko "KO"
-    } 
-    if {[string index $AZnb 1 ] == "1"} {
-      set OK $AZnb
-      append OK ":"
-      append OK $oko
-      append OK ":"
-    } elseif {[string index $AZnb 1 ] == "2"} {
-       append OK $oko
-       append OK ":"
-      } elseif {[string index $AZnb 1 ] == "3"} {
-         append OK $oko
-         append OK ":"
-       } elseif {[string index $AZnb 1 ] == "4"} {
-           puts ""
-           puts $p
-           set p "   "
-           append OK $oko
-           puts $OK
-           puts $result $OK
-         } else {
-            puts "error letter"
-           }
-  }
-}
diff --git a/src/DrawResources/vmdltest b/src/DrawResources/vmdltest
deleted file mode 100755 (executable)
index f3279ca..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-exec wishx -file $DRAWHOME/Consultation.tcl
index e2a7dbe..76d2846 100755 (executable)
 
 
 package QADraw
-    uses Draw,
-         TCollection
+    uses Draw
 is
     
-    class DataMapOfAsciiStringOfAddress instantiates 
-                   DataMap from TCollection(AsciiString from TCollection,
-                                            Address from Standard,
-                                            AsciiString from TCollection);
-
     CommonCommands(DI : in out Interpretor from Draw);
     ---Purpose: Define specicial commands for AIS.
 
index 1b88619..2cd4a27 100755 (executable)
@@ -18,7 +18,6 @@
 // and conditions governing the rights and limitations under the License.
 
 #include <QADraw.hxx>
-#include <QADraw_DataMapOfAsciiStringOfAddress.hxx>
 #include <Draw_Interpretor.hxx>
 #include <Image_AlienPixMap.hxx>
 #include <V3d_View.hxx>
 
 #include <tcl.h>
 
-#if ! defined(STDOUT_FILENO)
-#define STDOUT_FILENO fileno(stdout)
-#endif
-
-// mkv 15.07.03
-#if ! defined(STDERR_FILENO)
-#define STDERR_FILENO fileno(stderr)
-#endif
-
-Draw_Interpretor *thePCommands = NULL;
-
-#if ! defined(WNT)
-//extern Draw_Interpretor theCommands;
-
-extern void (*Draw_BeforeCommand)();
-extern void (*Draw_AfterCommand)(Standard_Integer);
-#else
-//Standard_EXPORT Draw_Interpretor theCommands;
-
-Standard_EXPORT void (*Draw_BeforeCommand)();
-Standard_EXPORT void (*Draw_AfterCommand)(Standard_Integer);
-#endif
-
-
 #include <Draw_PluginMacro.hxx>
 
-// avoid warnings on 'extern "C"' functions returning C++ classes
-#ifdef WNT
-#pragma warning(4:4190)
-#endif
-
-
-int st_err = 0;
-
-void (*Draw_BeforeCommand_old)();
-void (*Draw_AfterCommand_old)(Standard_Integer);
-
-static Standard_Boolean should_be_printed = Standard_True;
-
-static Standard_Boolean shouldDUP() {
-  // MKV 30.03.05
-#if ((TCL_MAJOR_VERSION > 8) || ((TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION >= 4))) && !defined(USE_NON_CONST)
-  const Standard_Character * adup = Tcl_GetVar(thePCommands->Interp(),
-                                        "QA_DUP",TCL_GLOBAL_ONLY);
-#else
-  Standard_Character * adup = Tcl_GetVar(thePCommands->Interp(),
-                                        "QA_DUP",TCL_GLOBAL_ONLY);
-#endif
-  Standard_Integer aDUP=1;
-  if((adup != NULL) && (Draw::Atof(adup) == 0)) {
-    aDUP = 0;
-  }
-
-  return aDUP;
-}
-
-static void before() {
-  should_be_printed = Standard_True;
-  if(Draw_BeforeCommand_old) (*Draw_BeforeCommand_old) ();
-}
-
-static void  after(Standard_Integer a)
-{
-  if(Draw_AfterCommand_old) (*Draw_AfterCommand_old) (a);
-  if(!should_be_printed) {
-//    Tcl_ResetResult(theCommands.Interp());
-  }
-}
-
-static QADraw_DataMapOfAsciiStringOfAddress stFuncMap;
-
-  // MKV 30.03.05
-#if ((TCL_MAJOR_VERSION > 8) || ((TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION >= 4))) && !defined(USE_NON_CONST)
-static Standard_Integer (*CommandCmd_Old)
-(ClientData clientData, Tcl_Interp *interp,
- Standard_Integer argc, const char* argv[]) = NULL;
-#else
-static Standard_Integer (*CommandCmd_Old)
-(ClientData clientData, Tcl_Interp *interp,
- Standard_Integer argc, char* argv[]) = NULL;
-#endif
-
-  // MKV 30.03.05
-#if ((TCL_MAJOR_VERSION > 8) || ((TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION >= 4))) && !defined(USE_NON_CONST)
-static Standard_Integer CommandCmd
-(ClientData clientData, Tcl_Interp *interp,
- Standard_Integer argc, const char* argv[])
-#else
-static Standard_Integer CommandCmd
-(ClientData clientData, Tcl_Interp *interp,
- Standard_Integer argc, char* argv[])
-#endif
-{
-  Standard_Integer old_out = 0;
-  Standard_Integer old_err = 0;
-  Standard_Integer fd_out = 0;
-  Standard_Integer fd_err = 0;
-
-  FILE * aFile_out = NULL;
-  FILE * aFile_err = NULL;
-
-  char *nameo = NULL;
-  char *namee = NULL;
-#ifdef WNT
-  if(strlen(getenv("TEMP")) == 0) {
-    cerr << "The TEMP variable is not set." << endl;
-    aFile_out = tmpfile();
-    aFile_err = tmpfile();
-  } else {
-    nameo = _tempnam(getenv("TEMP"),"tmpo");
-    namee = _tempnam(getenv("TEMP"),"tmpe");
-    aFile_out=fopen(nameo, "w+");
-    aFile_err=fopen(namee, "w+");
-  }
-#else
-    aFile_out = tmpfile();
-    aFile_err = tmpfile();
-#endif
-  fd_out = fileno(aFile_out);
-  fd_err = fileno(aFile_err);
-  if(fd_out !=-1 && fd_err !=-1) {
-    old_err = dup(STDERR_FILENO);
-    old_out = dup(STDOUT_FILENO);
-    dup2(fd_err,STDERR_FILENO);
-    dup2(fd_out,STDOUT_FILENO);
-  } else
-    cout << "Faulty : Can not create temporary file."   << endl;
-
-  Standard_Integer clen = sizeof(Standard_Character);
-
-  Standard_Character * QA = getenv("QA_print_command");
-  if((QA != NULL) && (!strcmp(QA,"1"))) {
-    for(Standard_Integer i=0;i<argc;i++) {
-      write(st_err,argv[i],clen*strlen(argv[i]));
-      write(st_err," ",clen);
-    }
-    write(st_err,"\n",clen);
-  }
-
-  // MKV 30.03.05
-#if ((TCL_MAJOR_VERSION > 8) || ((TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION >= 4))) && !defined(USE_NON_CONST)
-  TCollection_AsciiString aName((char *) argv[0]);
-#else
-  TCollection_AsciiString aName(argv[0]);
-#endif
-
-  Standard_Integer res = 0;
-
-  if(stFuncMap.IsBound(aName)) {
-    // MKV 30.03.05
-#if ((TCL_MAJOR_VERSION > 8) || ((TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION >= 4))) && !defined(USE_NON_CONST)
-    CommandCmd_Old  = (int(*)(void*, Tcl_Interp*, int, const char**))  stFuncMap((char *) argv[0]);
-#else
-    CommandCmd_Old  = (int(*)(void*, Tcl_Interp*, int, char**))  stFuncMap(argv[0]);
-#endif
-    res = (*CommandCmd_Old) (clientData,interp,argc,argv);
-  }
-
-  fflush(stderr);
-  fflush(stdout);
-  close(STDERR_FILENO);
-  close(STDOUT_FILENO);
-  dup2(old_err,STDERR_FILENO);
-  dup2(old_out,STDOUT_FILENO);
-  close(old_err);
-  close(old_out);
-
-  Standard_Character buf[256];
-  Standard_Integer len = 0;
-
-  rewind(aFile_err);
-  while((len = read(fd_err,buf,clen*255)/clen) > 0) {
-    buf[len]='\0';
-    if(shouldDUP()) {
-      (*thePCommands) << buf;
-    } else {
-      write(st_err,buf,clen*len);
-    }
-  }
-  close(fd_err);
-
-  rewind(aFile_out);
-  buf[0] = '\0';
-  len = 0;
-  while((len = read(fd_out,buf,clen*255)/clen) > 0) {
-    buf[len]='\0';
-    if(shouldDUP()) {
-      (*thePCommands) << buf;
-    } else {
-      write(st_err,buf,clen*len);
-    }
-  }
-  close(fd_out);
-
-  if(shouldDUP()) {
-    Standard_Character *Result = (Standard_Character *)thePCommands->Result();
-    if(Result[0] != '\0') {
-      Standard_Integer pos = 0;
-      Standard_Integer rlen = strlen(Result);
-      while(pos < rlen) {
-       Standard_Integer nb = 256;
-       if((rlen - pos) <= 256) {
-         nb = rlen - pos;
-       }
-       write(st_err,Result+pos,nb*clen);
-       pos += nb;
-      }
-      write(st_err,"\n",clen);
-      should_be_printed = Standard_False  ;
-    }
-  } //else {
-  if(nameo)
-    free(nameo);
-  if(namee)
-    free(namee);
-  return res;
-}
-
-static Standard_Integer QARebuild (Draw_Interpretor& di, Standard_Integer /*n*/, const char ** a)
-{
-
-  Tcl_CmdInfo *infoPtr = new Tcl_CmdInfo;
-
-  if(!strcmp(a[0],a[1]))
-    return 0;
-
-  char* var_a = (char*)a[1];
-  Standard_Integer res = Tcl_GetCommandInfo(di.Interp(),var_a,infoPtr);
-  if(res && (infoPtr->proc != &CommandCmd)) {
-    TCollection_AsciiString aName(var_a);
-    if (!stFuncMap.IsBound(aName)) {
-      stFuncMap.Bind(aName, (Standard_Address) infoPtr->proc);
-
-      infoPtr->proc = &CommandCmd;
-#if TCL_MAJOR_VERSION == 8 && TCL_MINOR_VERSION == 3
-      infoPtr->isNativeObjectProc = 0;
-      infoPtr->objProc = NULL;
-#endif
-      Tcl_SetCommandInfo(di.Interp(),var_a,infoPtr);
-    }
-  }
-
-  return 0;
-}
-
 Handle(TColStd_HSequenceOfReal) GetColorOfPixel (const Image_PixMap&    theImage,
                                                  const Standard_Integer theCoordinateX,
                                                  const Standard_Integer theCoordinateY,
@@ -408,45 +164,6 @@ static Standard_Integer QAAISGetPixelColor (Draw_Interpretor& theDi,
   return 0;
 }
 
-#if ! defined(WNT)
-extern int ViewerMainLoop (Standard_Integer argc, const char ** argv);
-#else
-Standard_EXPORT int ViewerMainLoop (Standard_Integer argc, const char ** argv);
-#endif
-
-static Standard_Integer QAAISGetMousePoint (Draw_Interpretor& di, Standard_Integer argc, const char ** argv)
-{
-  if ( argc != 1 ) {
-    di << "Usage : " << argv[0] << "\n";
-    return 1;
-  }
-  Handle (V3d_View) QAAISView = ViewerTest::CurrentView ();
-  if ( QAAISView.IsNull () ) {
-    di << "You must initialize AISViewer before this command." << "\n";
-    return 1;
-  }
-  Standard_Integer QAAISMouseCoordinateX = 0;
-  Standard_Integer QAAISMouseCoordinateY = 0;
-  Standard_Integer argccc = 5;
-  const char *bufff[] = { "A", "B", "C", "D", "E" };
-  const char **argvvv = (const char **) bufff;
-  while ( ViewerMainLoop (argccc, argvvv) ) {
-    ViewerTest::GetMousePosition (QAAISMouseCoordinateX, QAAISMouseCoordinateY);
-  }
-  ViewerTest::GetMousePosition (QAAISMouseCoordinateX, QAAISMouseCoordinateY);
-  di << "X-coordinate: " << QAAISMouseCoordinateX << "; Y-coordinate: " << QAAISMouseCoordinateY << "\n";
-  return 0;
-}
-
-//==============================================================================
-//  VIEWER GLOBALs
-//==============================================================================
-#ifndef WNT
-extern Draw_Viewer dout;
-#else
-Standard_IMPORT Draw_Viewer dout;
-#endif
-
 //=======================================================================
 #if ! defined(WNT)
 extern ViewerTest_DoubleMapOfInteractiveAndName& GetMapOfAIS();
@@ -525,86 +242,11 @@ static int VTrihedronOrigins(Draw_Interpretor& di,
   return 0;
 }
 
-#include <Draw_Viewer.hxx>
-#include <Draw.hxx>
-
-static Standard_Integer ViewId(const Standard_CString a)
-{
-  Standard_Integer id = Draw::Atoi(a);
-  if ((id < 0) || (id >= MAXVIEW)) {
-    cout << "Incorrect view-id, must be in 0.."<<MAXVIEW-1<<endl;
-    return -1;
-  }
-  if (!dout.HasView(id)) {
-    cout <<"View "<<id<<" does not exist."<<endl;
-    return -1;
-  }
-  return id;
-}
-
-#include <Draw_Display.hxx>
-
-//=======================================================================
-// QArename
-//=======================================================================
-
-static Standard_Integer QArename(Draw_Interpretor& di, Standard_Integer n, const char** a)
-{
-  if (n < 3) return 1;
-  Standard_Boolean cop = !strcasecmp(a[0],"copy");
-
-  Handle(Draw_Drawable3D) D;
-  for (Standard_Integer i = 1; i < n; i += 2) {
-    if (i+1 >= n) return 0;
-    D = Draw::Get(a[i]);
-    if (!D.IsNull()) {
-      if (cop)
-       D = D->Copy();
-      else
-       // clear old name
-       Draw::Set(a[i],Handle(Draw_Drawable3D()));
-
-      Draw::Set(a[i+1],D);
-    }
-  }
-  return 0;
-}
-
-//#if defined(V2D)
-//#include <AIS2D_InteractiveContext.hxx>
-//static Standard_Integer QANbSelected2d (Draw_Interpretor& /*di*/, Standard_Integer argc, char** argv)
-//{
-//  if(argc != 1) {
-//    cout << "Usage : " << argv[0] << endl;
-//    return 1;
-//  }
-//  Handle(AIS2D_InteractiveContext) aContext = Viewer2dTest::GetAIS2DContext();
-//  if(aContext.IsNull()) {
-//    cerr << "use 'v2dinit' command before " << argv[0] << endl;
-//    return 1;
-//  }
-//  cout << aContext->NbSelected() << endl;
-//  return 0;
-//}
-//#endif
-
 void QADraw::CommonCommands(Draw_Interpretor& theCommands)
 {
-  ios::sync_with_stdio();
-
-  st_err = dup(STDERR_FILENO);
-
-  Draw_BeforeCommand_old = Draw_BeforeCommand;
-  Draw_AfterCommand_old  = Draw_AfterCommand;
-
-  Draw_BeforeCommand = &before;
-  Draw_AfterCommand  = &after;
-
   const char* group = "QA_Commands";
 
-  theCommands.Add("QARebuild","QARebuild command_name",__FILE__,QARebuild,group);
   theCommands.Add("QAGetPixelColor", "QAGetPixelColor coordinate_X coordinate_Y [color_R color_G color_B]", __FILE__,QAAISGetPixelColor, group);
-  theCommands.Add("QAGetMousePoint", "QAGetMousePoint", __FILE__,QAAISGetMousePoint, group);
   theCommands.Add("vtri_orig",
                  "vtri_orig         : vtri_orig trihedron_name  -  draws axis origin lines",
                  __FILE__,VTrihedronOrigins,group);
@@ -612,48 +254,15 @@ void QADraw::CommonCommands(Draw_Interpretor& theCommands)
 // adding commands "rename" leads to the fact that QA commands doesn't work properly OCC23410, use function "renamevar"
 // theCommands.Add("rename","rename name1 toname1 name2 toname2 ...",__FILE__,QArename,group);
 }
-/*
-extern "C" int Tkqadraw_Init(Tcl_Interp *);
-
-int Tkqadraw_Init(Tcl_Interp * ) {
-
-  ios::sync_with_stdio();
-
-  QADraw::CommonCommands(theCommands);
-  QADraw::AdditionalCommands(theCommands);
 
-  ViewerTest::Commands (theCommands);
-  ViewerTest::ViewerCommands (theCommands);
-
-  Viewer2dTest::Commands(theCommands);
-//   if (Tcl_PkgProvide(theCommands.Interp(), "Qa", "1.0") != TCL_OK) {
-//     return TCL_ERROR;
-//   }
-
-  return TCL_OK;
-}
-*/
 //==============================================================================
 // QADraw::Factory
 //==============================================================================
 void QADraw::Factory(Draw_Interpretor& theCommands)
 {
-  thePCommands = &theCommands;
-
   // definition of QA Command
   QADraw::CommonCommands(theCommands);
   QADraw::AdditionalCommands(theCommands);
-
-  //ViewerTest::Commands (theCommands);
-  //ViewerTest::ViewerCommands (theCommands);
-
-//#if defined(V2D)
-//    Viewer2dTest::Commands(theCommands);
-//#endif
-
-//#ifdef DEB
-//      cout << "Draw Plugin : QA commands are loaded" << endl;
-//#endif
 }
 
 // Declare entry point PLUGINFACTORY
index 4e0d888..a3289f5 100755 (executable)
@@ -2080,10 +2080,16 @@ static int VExport(Draw_Interpretor& di, Standard_Integer argc, const char** arg
     return 1;
   }
 
-  if (!V3dView->View()->Export (argv[1], anExpFormat))
+  try {
+    if (!V3dView->View()->Export (argv[1], anExpFormat))
+    {
+      di << "Error: export of image to " << aFormatStr << " failed!\n";
+    }
+  }
+  catch (Standard_Failure)
   {
-    std::cout << "Export failed!\n";
-    return 1;
+    di << "Error: export of image to " << aFormatStr << " failed";
+    di << " (exception: " << Standard_Failure::Caught()->GetMessageString() << ")";
   }
   return 0;
 }
diff --git a/tests/3rdparty/export/begin b/tests/3rdparty/export/begin
new file mode 100644 (file)
index 0000000..3d49294
--- /dev/null
@@ -0,0 +1,6 @@
+# On Windows with VC, in typical configuration gl2ps is built with Release
+# mode only which will fail in Debug
+if { [regexp {Debug mode} [dversion]] } {
+    puts "TODO ?#23540 windows: Error: export of image.*failed"
+    puts "TODO ?#23540 windows: Error: The file has been exported.*different size \[(\]0 "
+}
diff --git a/tests/3rdparty/parse.rules b/tests/3rdparty/parse.rules
new file mode 100644 (file)
index 0000000..d49a808
--- /dev/null
@@ -0,0 +1 @@
+SKIPPED /test skipped/ GL2PS is absent
index 4ebd4de..f6008ef 100755 (executable)
@@ -10,13 +10,13 @@ if { [array get Draw_Groups "TOPOLOGY Check commands"] == "" } {
 # to prevent loops limit to 16 minutes
 cpulimit 1000
 
-#set script_dir [file dirname [info script]]/script
-# if { [info exist WorkDirectory] == 0 } {
-#    set WorkDirectory "/tmp"
-#    if { [array get env TEMP] != "" } {
-#      set WorkDirectory "$env(TEMP)"
-#      }
-#    }
+# On Windows with VC, in typical configuration gl2ps is built with Release
+# mode only which will fail in Debug mode; add TODO for that case in order
+# to handle it once for all tests that can use vexport command
+if { [regexp {Debug mode} [dversion]] } {
+    puts "TODO ?#23540 windows: Error: export of image.*failed"
+    puts "TODO ?#23540 windows: Error: The file has been exported.*different size \[(\]0 "
+}
 
 if { [info exists imagedir] == 0 } {
    set imagedir .
@@ -217,7 +217,7 @@ proc checktrend {listval delta tolerance message} {
         set mean [expr $mean + ($val - $prev)]
         set prev $val
     }
-    set mean [expr $mean / $nbval]
+    set mean [expr $mean / ($nbval - 1)]
 
     # calculate dispersion
     set sigma 0.
@@ -227,12 +227,12 @@ proc checktrend {listval delta tolerance message} {
         set sigma [expr $sigma + $d * $d]
         set prev $val
     }
-    set sigma [expr sqrt ($sigma / ($nbval - 1))]
+    set sigma [expr sqrt ($sigma / ($nbval - 2))]
 
     puts "Checking trend: nb = $nbval, mean delta = $mean, sigma = $sigma"
 
     # check if deviation is definitely too big
-    if { abs ($mean - $delta) > 2. * $sigma } {
+    if { abs ($mean - $delta) > $tolerance + 2. * $sigma } {
         puts "Checking trend failed: mean delta per step = $mean, sigma = $sigma, expected delta = $delta"
         error "$message"
     }
index 2acef5a..78221fc 100644 (file)
@@ -6,8 +6,6 @@ puts ""
 #######################################################################################
 # BinOcaf: portability of binary file between platforms 
 #######################################################################################
-# Various improvements of RINA LH3D-3H project
-#######################################################################################
 
 set QA_DUP 0
 
index f950e54..89cf25a 100644 (file)
@@ -7,7 +7,6 @@ puts "================"
 puts ""
 #######################################################################################
 # OSD::SetSignal : not all FLT exceptions are catched
-# Various improvements of RINA LH3D-3H project
 # Correct handling of exceptions on WNT
 #######################################################################################
 
index 6bcc662..07c370d 100755 (executable)
@@ -6,6 +6,9 @@ puts ""
 # Problem of Memory Leak
 ######################################################
 
+puts "TODO ?#23901 ALL: Memory leak detected"
+puts "TODO ?#23901 ALL: TEST INCOMPLETE"
+
 #
 # Result is Null shape
 #
index e637785..6bab187 100755 (executable)
@@ -21,7 +21,7 @@ for {set i 1} {${i} <= ${NCycles}} {incr i } {
     bop b1 b2
     bopcut r
     lappend listmem [meminfo h]
-    if { [checktrend $listmem 0 1 "Memory leak detected"] } {
+    if { [checktrend $listmem 0 100 "Memory leak detected"] } {
         puts "No memory leak, $i iterations"
         break
     }
index bf66c20..ea70a7c 100755 (executable)
@@ -23,7 +23,7 @@ for {set i 1} {${i} <= ${NCycles}} {incr i } {
     boptuc r
 
     lappend listmem [meminfo h]
-    if { [checktrend $listmem 0 1 "Memory leak detected"] } {
+    if { [checktrend $listmem 0 100 "Memory leak detected"] } {
         puts "No memory leak, $i iterations"
         break
     }
index 427e84f..8b64c0a 100755 (executable)
@@ -22,7 +22,7 @@ for {set i 1} {${i} <= ${NCycles}} {incr i } {
     bopcommon r
 
     lappend listmem [meminfo h]
-    if { [checktrend $listmem 0 1 "Memory leak detected"] } {
+    if { [checktrend $listmem 0 100 "Memory leak detected"] } {
         puts "No memory leak, $i iterations"
         break
     }
index 4290eed..dcf22de 100755 (executable)
@@ -21,7 +21,7 @@ for {set i 1} {${i} <= ${NCycles}} {incr i } {
     bopfuse r
 
     lappend listmem [meminfo h]
-    if { [checktrend $listmem 0 1 "Memory leak detected"] } {
+    if { [checktrend $listmem 0 100 "Memory leak detected"] } {
         puts "No memory leak, $i iterations"
         break
     }
index 590285a..f3f6fa7 100755 (executable)
@@ -21,7 +21,7 @@ for {set i 1} {${i} <= ${NCycles}} {incr i } {
     bopsection r
 
     lappend listmem [meminfo h]
-    if { [checktrend $listmem 0 1 "Memory leak detected"] } {
+    if { [checktrend $listmem 0 100 "Memory leak detected"] } {
         puts "No memory leak, $i iterations"
         break
     }
index 4212712..f85ecb6 100755 (executable)
@@ -8,7 +8,7 @@ puts ""
 # Fuse problem of symetrical shapes. Appendix for NPAL19789
 #######################################################################
 
-cpulimit 300
+cpulimit 500
 #cpulimit 4500
 set BugNumber OCC19793
 
index 36974e9..e5efb37 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC20297"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index cd0ef74..6bb9e87 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC20297"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index b672095..dd243dd 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC20297"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index ebda37c..ddee861 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC20297"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index bd7add7..0dc5254 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC20297"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index be0dba6..c7d3cfe 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC20964"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index 389b42d..fe3da09 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC20964"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index bb6d442..4b1e8e6 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC20964"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index 3c2f2d8..856e2d1 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC20964"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index 045919f..79e8d6d 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC20964"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index 2b8bff9..5e85dda 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index a38188c..b71bbf8 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 7072c3a..49057b0 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index a1d8306..1c31e44 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index d14d0d2..c032529 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 1b00b6f..3fd9069 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 9efa018..9aef657 100755 (executable)
@@ -3,7 +3,6 @@ puts "TODO OCC11111 ALL: An exception was caught"
 puts "TODO ?OCC11111 ALL: TEST INCOMPLETE"
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 813fa34..89c81c4 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 3e960bf..916e526 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 380bb63..1bc951d 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 4118781..4b7265a 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index ac01f10..09315aa 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 7f63b12..1fbb0ea 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index c3b75d9..db8b811 100755 (executable)
@@ -3,7 +3,6 @@ puts "TODO OCC11111 ALL: An exception was caught"
 puts "TODO ?OCC11111 ALL: TEST INCOMPLETE"
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 7473484..09eb9cd 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 854763f..47eb322 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 5e6373e..6008aa0 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 704c7d4..5de4def 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 7ab75bd..a7dc8f5 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 1eee43c..9319923 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index c54e83f..586fb27 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 92e18e6..75dd3fd 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 841eb26..987e8ba 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index de3b029..8251213 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index ad7fff8..6c99ac2 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 69bd16d..d98eec6 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 7dbc87a..77289f8 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 295561e..e7e71b5 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index cef4765..d57ced8 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 34d2c2a..01f3cf4 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 20b489d..35cbd24 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index c2ea415..c0bdb0c 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index bbbd440..6c9166c 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 4c7572c..40b37e4 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index f498f5e..6c2c944 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index db566bf..7966f0f 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 203677a..53799a1 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index deae111..2a634ce 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 0001237..cebbaa9 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 2ab6f51..7335481 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index a08115c..9f45d29 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 155ea36..8263c7f 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 8c7e84d..b60fff9 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 37539d4..29a0a48 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 94ccb61..a89cced 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index f9d6d84..c96dbe9 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 2f29925..e274f3f 100755 (executable)
@@ -2,11 +2,10 @@ puts "TODO OCC11111 ALL: Error : Result shape is WRONG"
 
 puts "============"
 puts "OCC21652"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
-# TATA-08-005 Problem with offset on the wire
+# Problem with offset on the wire
 #######################################################################
 
 set BugNumber OCC21652
index b098efd..471b377 100755 (executable)
@@ -2,11 +2,10 @@ puts "TODO OCC11111 ALL: Error : Result shape is WRONG"
 
 puts "============"
 puts "OCC21652"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
-# TATA-08-005 Problem with offset on the wire
+# Problem with offset on the wire
 #######################################################################
 
 set BugNumber OCC21652
index 18958b0..0be4f49 100755 (executable)
@@ -13,53 +13,7 @@ puts ""
 puts "Bug's attributes"
 puts "################"
 puts ""
-puts "Customer : Telco"
-puts "Channel : External"
-puts "Version : 4.0"
-puts "OS : IRIX"
-puts "Urgency : High"
-puts "Type : BUG"
-puts ""
 puts "Summary:  BRepOffsetAPI_MakeOffset: problem with offsetting a wire"
-puts ""
-puts "Description:"
-puts "I am attaching the brep file of a curve, obtained from intersection with a"
-puts "plane. Its a planer curve and we want to offset it by the amount which"
-puts "is feasible. after trying with all options we were not able to offset it."
-puts "But the same wire when we read inside EUCLID3 as well as CATIA it does"
-puts "the offset correctly."
-puts ""
-puts ""
-puts "Bug's advancement"
-puts "#################"
-puts ""
-puts "Customer version                  Development version"
-puts "Status : CLOSED                   Status : CLOSED"
-puts "Resolution : NOT                  Resolution : NOT"
-puts "Leave as CLOSED NOT               Leave as CLOSED NOT"
-puts ""
-puts ""
-puts "Bug's history"
-puts "#############"
-puts ""
-puts "------- Additional Comments From Igor NAZAROV-BUGMASTER 2002-04-19 16:21 -------"
-puts "Dear Sergey,"
-
-puts "Below you will find conclusion of JGV about thia bug"
-puts "Bugmaster"
-puts "   This case can not be done by existing algorithm. It is mathematical"
-puts "limitation: the offset may be performed only from at least C1-continuous"
-puts "curve, but all the 12 edges of initial wire are based on C0-continuous"
-puts "curves."
-puts "   I may modify the algorithm so that it splits initial edges into"
-puts "C1-continuous curves, but then resulting wire will consist of too many"
-puts "small edges (in our case the number of edges will increase about 100"
-puts "times)."
-puts "  But user may obtain initial wire more smooth: when he intersects"
-puts "something with a plane by command \"section\", he can add the key \"-a\""
-puts "(force approximation)."
-puts ""
-puts ""
 
 catch {pload XDE}
 
index b0e9123..7237527 100755 (executable)
@@ -1,6 +1,12 @@
-puts "TODO OCC12345 ALL: Error : The square of result shape is"
-puts "TODO OCC12345 ALL: Faulty shapes in variables faulty_1 to faulty_"
-puts "TODO OCC12345 ALL: Faulty OCC827"
+# Errors are different in Debug and Release mode
+puts "TODO ?#23910 ALL: Error : The square of result shape is"
+puts "TODO ?#23910 ALL: Faulty shapes in variables faulty_1 to faulty_"
+puts "TODO ?#23910 ALL: Faulty OCC827"
+
+# Debug on Windows
+puts "TODO ?#23910 ALL: Standard_Failure : Exception in REV Function"
+puts "TODO ?#23910 ALL: result is not a topological shape!!!"
+puts "TODO ?#23910 ALL: TEST INCOMPLETE"
 
 pload QAcommands
 
index 9174f95..1125d29 100755 (executable)
@@ -15,12 +15,6 @@ puts ""
 puts ""
 puts "Bug's advancement"
 puts "#################"
-puts ""
-puts "Customer version                  Development version"
-puts "Status : CLOSED                   Status : CLOSED"
-puts "Resolution : LIMITATION           Resolution : LIMITATION"
-puts "Leave as CLOSED LIMITATION        Leave as CLOSED LIMITATION"
-puts ""
 
 restore [locate_data_file OCC150_compsolid_nofuse.brep] sh 
 explode sh
index eac73fe..7922304 100755 (executable)
@@ -15,11 +15,6 @@ puts ""
 puts "Bug's advancement"
 puts "#################"
 puts ""
-puts "Customer version                  Development version"
-puts "Status : CLOSED                   Status : CLOSED"
-puts "Resolution : LIMITATION           Resolution : LIMITATION"
-puts "Leave as CLOSED LIMITATION        Leave as CLOSED LIMITATION"
-puts ""
 
 restore [locate_data_file OCC150_compsolid_nofuse.brep] sh 
 explode sh
index de23ef0..b992c66 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========================"
 puts "OCC20683"
-puts "Customer : TATA"
 puts "========================"
 puts ""
 #######################################################################
index abce98a..194618e 100755 (executable)
@@ -1,6 +1,6 @@
 puts "TODO OCC11111 ALL: TEST INCOMPLETE"
 
-cpulimit 30
+cpulimit 500
 
 puts "============"
 puts "OCC22759"
index b3c3bd9..816f9f2 100755 (executable)
@@ -2,9 +2,6 @@ if { [array get env os_type] != "" } {
     set os $env(os_type)
 }
 puts "TODO OCC12345 ALL: Faulty shapes in variables faulty_1 to faulty_"
-if { [string compare $os "windows"] != 0 } {
-    puts "TODO OCC12345 ALL: TEST INCOMPLETE"
-}
 puts "================"
 puts "OCC54"
 puts "================"
@@ -13,7 +10,7 @@ puts ""
 ## Exception is raised during command "small" in DRAW on attached shape.
 ####################################################
 
-cpulimit 300
+cpulimit 500
 restore [locate_data_file OCC54.brep] result
 
 checkshape result
index 9c52ac0..16576e2 100755 (executable)
@@ -18,31 +18,35 @@ bsplinecurve c1 2   2 0 3 1 3       0 2 0 1  1 1 0 1  2 2 0 1
 mkedge e c1
 vertex v 0 0 1
 
-set res [distmini r e v]
+distmini r e v
 
 set status 0
 # result should contain one edge, starting on e and ending on v
-if { [llength $res] != 2 } {
-    puts "Error: result has structure different from expected: $res"
-    set status 1
-}
+#if { [llength $res] != 2 } {
+#    puts "Error: result has structure different from expected: $res"
+#    set status 1
+#}
 
 # get start and end vertices -- these should be solutions on e1 and e2
-set sol [explode [lindex $res 1] v]
+set sol [explode r v]
 
 # check distances in correct order
-set d1 [dval [lindex [distmini d1 [lindex $sol 0] e] 0]]
-set d2 [dval [lindex [distmini d2 [lindex $sol 1] v] 0]]
-puts "Distances from solutions to relevant objecte: $d1, $d2"
+distmini d1 [lindex $sol 0] e
+distmini d2 [lindex $sol 1] v
+set d1 [dval d1_val]
+set d2 [dval d2_val]
+puts "Distances from solutions to relevant objects: $d1, $d2"
 if { $d1 > 1e-7 || $d2 > 1e-7 } {
     puts "Error: distances are non-zero!"
     set status 1
 }
 
 # check distances in swapped order
-set d1 [dval [lindex [distmini d1 [lindex $sol 0] v] 0]]
-set d2 [dval [lindex [distmini d2 [lindex $sol 1] e] 0]]
-puts "Distances from solutions to swapped objecte: $d1, $d2"
+distmini d1 [lindex $sol 0] v
+distmini d2 [lindex $sol 1] e
+set d1 [dval d1_val]
+set d2 [dval d2_val]
+puts "Distances from solutions to swapped objects: $d1, $d2"
 if { $d1 < 0.1 || $d2 < 0.1 } {
     puts "Error: swapped distances are zero, i.e. solutions are swapped!"
     set status 1
index 6fad76c..d948b83 100755 (executable)
@@ -12,22 +12,19 @@ set BugNumber OCC23051
 plane p 0 0 0 0 0 1
 mkface f p -10 10 -10 10
 vertex v 0 0 1
-set res [distmini r f v]
-
-# result should contain one edge, starting on f and ending on v
-if { [llength $res] != 2 } {
-    puts "Error: result has structure different from expected: $res"
-}
+distmini r f v
 
 # get start and end vertices -- these should be solutions on f and v
-set sol [explode [lindex $res 1] v]
+set sol [explode r v]
 
 set status1 0
 # check distances in correct order
-set d1 [dval [lindex [distmini d1 [lindex $sol 0] f] 0]]
-set d2 [dval [lindex [distmini d2 [lindex $sol 1] v] 0]]
+distmini d1 [lindex $sol 0] f
+distmini d2 [lindex $sol 1] v
+set d1 [dval d1_val]
+set d2 [dval d2_val]
 
-puts "Distances from solutions to relevant objecte: $d1, $d2"
+puts "Distances from solutions to relevant objects: $d1, $d2"
 if { $d1 > 1e-7 || $d2 > 1e-7 } {
     puts "Error: distances are non-zero!"
     set status1 1
@@ -35,10 +32,12 @@ if { $d1 > 1e-7 || $d2 > 1e-7 } {
 
 set status2 0
 # check distances in swapped order
-set d1 [dval [lindex [distmini d1 [lindex $sol 0] v] 0]]
-set d2 [dval [lindex [distmini d2 [lindex $sol 1] f] 0]]
+distmini d1 [lindex $sol 0] v
+distmini d2 [lindex $sol 1] f
+set d1 [dval d1_val]
+set d2 [dval d2_val]
 
-puts "Distances from solutions to swapped objecte: $d1, $d2"
+puts "Distances from solutions to swapped objects: $d1, $d2"
 if { $d1 < 0.1 || $d2 < 0.1 } {
     puts "Error: swapped distances are zero, i.e. solutions are swapped!"
     set status2 1
index 52a2e79..c164234 100755 (executable)
@@ -5,7 +5,7 @@ puts "OCC353"
 puts "================"
 puts ""
 ##########################################################
-## Attached DRAW command "TATA_const" hangs in Geom2dGcc_Circ2d3Tan.
+## Attached DRAW command hangs in Geom2dGcc_Circ2d3Tan.
 ##########################################################
 
 if [catch { OCC353 }] {
index 9572d0e..e4ca834 100644 (file)
@@ -1,5 +1,6 @@
 puts "Output with mistake is correct!"
-puts "TODO BUC60634 ALL: An exception was caught"
+puts "TODO BUC60634 ALL: Standard_ConstructionError: BRepFill_Draft"
+puts "TODO ?BUC60634 ALL: Error in MakeWire"
 puts "=================="
 puts "BUC60634"
 puts "=================="
@@ -8,21 +9,19 @@ sphere s 10
 mkshell sh s
 explode sh f
 
-decho off
 catch {draft r sh 0 0 1 10 shape} first
 catch {draft result sh_1 0 0 1 10 shape} second
-decho on
 
-if { [regexp {Standard_ConstructionError:} $first] != 1 } {
-    puts "Faulty : not suitablle exception"
+if { ! [regexp {Standard_ConstructionError:} $first] } {
+    puts "Error : not suitablle exception"
 } else {
-    puts "Output is correct"
+    puts "Output is as expected"
 }
 
-if { [regexp {External} $second] != 1 } {
-    puts "Faulty : not suitablle exception"
+if { ! [regexp {External} $second] } {
+    puts "Error : not word External found"
 } else {
-    puts "Output is correct"
+    puts "Output is as expected"
 }
 
 
index ccc71ce..34e85fd 100755 (executable)
@@ -8,8 +8,6 @@ puts ""
 #######################################################################################
 # Viewer is always updated on closing local contexts
 #######################################################################################
-# Various improvements of RINA LH3D-3H project
-#######################################################################################
 
 box b1 10 10 10
 box b2 50 50 50 10 10 10
index cd3d14b..de5c21e 100755 (executable)
@@ -4,7 +4,6 @@ puts "OCC2707"
 puts "================"
 #######################################################################################
 # AIS_LC::AddOrRemoveSelected(Handle(SelectMgr_EntityOwner), ..) works too slow
-# Various improvements of RINA LH3D-3H project
 #######################################################################################
 
 box b1 10 10 10
index b98e501..d0cfd9b 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC21747"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index 073ac49..899db01 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC21747"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index 99c57b8..ad329ce 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC21747"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index 0883fd6..639b955 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC21747"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index ed9e80a..2c00fd0 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC21747"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index 7adfa01..58a2334 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC21747"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index cae6df2..af7ccfd 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC21747"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index d56818e..d13997e 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC21747"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index 11cbf06..2d142e4 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC21747"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index 97f2707..0b1cf43 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC21747"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index 7f36851..a8133fd 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC21747"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index a9f16ca..5752244 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC21747"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index 9c8e415..8465c98 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC21747"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index 8dc616b..431236a 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC21747"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index de49cfd..778916d 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC21747"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index 66f29ca..9ced128 100755 (executable)
@@ -3,7 +3,6 @@ puts "TODO ?OCC12345 ALL: \\*\\* Exception \\*\\*.*"
 puts "TODO ?OCC12345 ALL: TEST INCOMPLETE"
 puts "============"
 puts "OCC21747"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index e3ccf6f..b71fa92 100755 (executable)
@@ -3,7 +3,6 @@ puts "TODO ?OCC12345 ALL: \\*\\* Exception \\*\\*.*"
 puts "TODO ?OCC12345 ALL: TEST INCOMPLETE"
 puts "============"
 puts "OCC21747"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index 8814a27..e76cec2 100755 (executable)
@@ -2,7 +2,6 @@ puts "TODO OCC11111 ALL: Faulty OCC22188"
 
 puts "============"
 puts "OCC22188"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index 8a617ab..cf90249 100755 (executable)
@@ -4,7 +4,7 @@ puts "================"
 puts ""
 
 ########################################################
-## Exception is raised in the SAMTECH Application during visualization. (#2054)
+## Exception is raised in the application during visualization. (#2054)
 ########################################################
 
 restore [locate_data_file OCC316.brep] result 
index 885c26b..7785082 100755 (executable)
@@ -17,8 +17,6 @@ ttranslate b 1 0 0
 XAddShape D b
 XRemoveShape D 0:1:1:1 0
 
-QARebuild Xdump
-
 set xd [Xdump D]
 
 regexp {Free Shapes: ([-0-9.+eE]+)} $xd full FreeShapes
index ee06109..7fdbb51 100755 (executable)
@@ -18,8 +18,6 @@ ttranslate b 1 0 0
 XAddShape D b
 XRemoveShape D 0:1:1:1 1
 
-QARebuild Xdump
-
 set xd [Xdump D]
 
 
index 8c15e30..4ac2e98 100644 (file)
@@ -1,11 +1,12 @@
 FAILED /\bFaulty\b/ error
 IGNORE /Error on Record/ message during loading file
 IGNORE /Software error/ message in tpstat
-IGNORE /Syntax error/ message if data c
+IGNORE /Syntax error/ message in data c
 IGNORE /Transfer error/ message in tpstat
 IGNORE /Operator FixShape failed with exception/ message during reading
 IGNORE /Error on writing file/ message during writing file
 IGNORE /StepFile Error/ message during loading step file
 IGNORE /StepToTopoDS, GeometricSet/exception
 IGNORE /OSD_Exception_ACCESS_VIOLATION/ exception during reading step
-IGNORE /Exception Raised while reading Step File/ exception during reading step file
\ No newline at end of file
+IGNORE /Exception Raised while reading Step File/ exception during reading step file
+IGNORE /Warning: ShapeFix_.* Exception/ internal exceptions caught by FixShape
\ No newline at end of file
index d6db1e4..5c4a69d 100644 (file)
@@ -1,4 +1,6 @@
 SKIPPED /Tcl Exception: .*[fF]ile .* could not be found/ data file is missing
 IGNORE /Tcl Exception: [*][*] Exception [*][*]/ duplicate report on exception on Tcl level
+IGNORE /BRepCheck Wire: Closed2d/ Debug output of checkshape
 FAILED /\b[Ee]xception\b/ exception
 FAILED /\b[Ee][Rr][Rr][Oo][Rr]\b/ error
+FAILED /Process killed by CPU limit/ Killed by CPU limit
index 610d206..54f97c2 100644 (file)
@@ -1 +1,2 @@
 FAILED /\bFaulty\b/ bad shape
+IGNORE /Error 3d = [0-9.]+/ debug dump of approximator