]> OCCT Git - occt-copy.git/commitdiff
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 9e746435ff4bc53102ec5d900794eedf3fb78f5a..17fe7485f6297f4e3642321de1b9a1493c39957e 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 5ffdb2f4aabcc549bd8414c0762eb837d56e54b8..30e4a306784169be6b576f8bcf02142db2a6b13d 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 b6d4f07aa9738bdbca148f03a451613c235718c5..325ae5b7cfa7408b9bbe0e665a98c72b0592ac31 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 e2a7dbe87d892c47b239ca69f3a6a7db26b5a30f..76d284631984f7d999a0dbda089b57a372da1487 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 1b886191cad05bfc0529175008143bf45f8c5a6c..2cd4a27ab177efa1bffa98d0e9763c24dbe1091b 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 4e0d888b60b20f9927b8aabb075676c825a321c3..a3289f54013ff1b8a4eb26b512a4dc2ceb32a45f 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 4ebd4de2cccb4d030e999c588925a51cdc877330..f6008ef9548f32f182d480e15df4f3472bf2f3ec 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 2acef5aed532fa68e1c28c92febf0cbe611c6da7..78221fc1e8283170a503d725f03f6ba90a12e27e 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 f950e54d5267acaa8756ef39706d1c0b935e6cb1..89cf25a31da722a9e3baed1c0db1ad6fe629433b 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 6bcc66283bab3fa67bbb31c3cbaa712f5fe20e62..07c370dd823b27715465591f2ab231715c9e5ed9 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 e6377858135b632837a0f17d3b01eaa9a38a923f..6bab187df011f8b4ba716a0217891053807c18fa 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 bf66c2066c0ccf842f45159b90cc863730dc7057..ea70a7c0ac116396c48d4302e59f3e85f456d6fd 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 427e84f298892247c1590bf9f4c8cdc1608c57fb..8b64c0a803a3e0ba2763b72fb69205c02e9cee9b 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 4290eed288592ad2813fd9ce6a7eeb922c076a12..dcf22de5ce205381e32afa4fea641af17817391d 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 590285a3144cefffe9e488252538a2d597d9aa2c..f3f6fa7420478ca2bb400ee3ac9c691aed467559 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 4212712f9ef11cb367eddeb54ea48cd440f1114e..f85ecb64110e8f7dacb7b442d3b2c12a26789bbb 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 36974e91122f41f22af2bf19bbe8ec638191561e..e5efb37dced323da2176f821d272efab7508fb34 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC20297"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index cd0ef7486cf40578cb6863b4ab683098c3c36e26..6bb9e877f35abd015533dbe5527996023e778854 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC20297"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index b672095d9663c6d0b48a2edfb7e82f73f3268dd8..dd243dd2e544a572f3c13546872df338d1c6e973 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC20297"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index ebda37c1c982f869f1aeb826f11515f06a5b63bc..ddee861050eab32018eab8f26fa95f5820c236aa 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC20297"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index bd7add7d9c61920125289e1c31df88edfb9e6769..0dc5254d121b1744d96a2b30f3a61b6d30e91b96 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC20297"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index be0dba6d80d596e9a4d8167d3f1816e254ab1ec9..c7d3cfe03209fed6adc8f309f29326db7188e8a9 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC20964"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index 389b42df66af5a4cf38f73f5fdd040bc29965abb..fe3da0924aed80b6b69c02b286b6f5dd1ca68389 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC20964"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index bb6d442a6910780c09cddf817c4d6734af66eef9..4b1e8e6f49056ee91e0c7eeaf668ad23760ce034 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC20964"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index 3c2f2d887a176a3957ac1eceef47a6de468893ca..856e2d15b2767236a718e5bf64642d6c0ca348bb 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC20964"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index 045919fba7e36f67a3fd7ccebb6a7d568081840a..79e8d6d1850f1250e9dbb9a9d375b4f3f1ee7502 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC20964"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index 2b8bff9055ee0cac869a084675cf925df45eea7e..5e85ddafbdd2a0cd3c3c7c9b777b447869a0ac34 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index a38188c12e1aed2cd45bc13c2fe109fcdd7ed7e7..b71bbf876b0de49af6dda10070747788fd9374dd 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 7072c3a3b86baf1560e0c62d19acfc0236f14c0d..49057b0ab9a68def150876aed0e93770b5955bac 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index a1d8306bf6865f33a02c816451e67586daf7c736..1c31e44fc899c3dc381a22f8fce91bdc2018cd49 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index d14d0d212b9e5976618c374fd57f8c07319f472e..c032529645ec3ba7e838e8e6fbcb36078e07156e 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 1b00b6f2461a84b7d57d367c8e1ef101d317743b..3fd9069d3a6598d3b571be51cd1eb17161dc5feb 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 9efa018458243085b6472318713ebe37f7c34e03..9aef657e21556d91ce119feb1461019ec115bd80 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 813fa34a869ef270de1ac56ed86a4aa7ae810c6b..89c81c4b610160c780d7a9afce09354465c743dd 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 3e960bf1fd35c680e33c61a299d0ff9fa7136c96..916e526beec67ff6a4c7e9a46923dc0126e01ec1 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 380bb63ed495e12d231f57d21b2b916bd37d629a..1bc951d2697ea5c3a22e6243cc48a94109ac0c77 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 4118781047ef1e652e7a35ddff1d33dd3070a7a7..4b7265a209e86ee7abbe68b95cc12951376f9c20 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index ac01f10a452b6ee049cf7d61fb05d526e568549b..09315aa48e2eab6de78509edcda9b885637e7907 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 7f63b12d2526683fa6c0e7b10f8889f58169731c..1fbb0ea8cc06d8f1aecd27b1792f1182a795af3c 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index c3b75d9f7532da80bdf72c6d1246c28f42b558bc..db8b8113c7a7c69048f5b483b99730ad6b753444 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 7473484fac18848f37301390911475bbc6d1ac16..09eb9cd3d81e9579d995a12c15ece9f731416da9 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 854763fb933e5772b5f17760fbc344a8d00aba82..47eb322056e6a3c572d6a43f50674d60537f6239 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 5e6373edd2ac298c19bf79766366d7470838cfbe..6008aa03de996fd6ce2bd49a2b5ac3be056a161b 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 704c7d4b4c5b8652eff47b28bef762fef3c9ce58..5de4defa42952e847a806b12a8ac23afda6a9c20 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 7ab75bdae31d9a354396a175bdf6b0f449ea8b2f..a7dc8f57870b4abba634a2babdd9179f3a335da1 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 1eee43c16ab9b801d8f0183bad1742b1dd2cc3db..931992378dad6d1455dd384c286960c900e92b35 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index c54e83f603e540410419e93d45d9e16ff85b941f..586fb27b8938a20e1ec08d79c9d369fe82642a51 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 92e18e64c8b170a443654ad04e13285dfb3ba7e8..75dd3fd5a7f8382139d1f210e7ce9e3509dad4ea 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 841eb26633afead417f653918a0ba506f62a8dd4..987e8badd81fc6642df3d95310cbcfc0bf46cc34 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index de3b0290205ea7543619829fc994a1ed994f8071..82512132337c53a19c235d6294d5ecf378d34b91 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index ad7fff8a8c57b11a63643afce4a7fb95a7093ab3..6c99ac2e10a806812009d733601a7a63ad90b8fd 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 69bd16dcb4c0d8b53abf664af3b1e5dea53dc326..d98eec63ed61c33bc1600c0fb3126a6a61ab8fa9 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 7dbc87a2859e21221bcd5a54ead20280534d45ac..77289f8c0054dc895cb3f185ff036487b28032b7 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 295561e54ee6b6680a63ec3f667db7a8a12ac2bf..e7e71b5d71d5b2bebe8e84824ea1b39ade208083 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index cef4765c352119de95d9ca898b1ced57107cba5e..d57ced8018f4fbf75aeafeb1dff9f732b6db8967 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 34d2c2af5d9c1f0b24a8d05f4b24a61ebdd344dc..01f3cf4a773433e6c4c9f72c50e927ab2c80407c 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 20b489d52b175fd5593a2b92736da57fc729898f..35cbd24edb52609b85f63a88f9916ca69f96c3f8 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index c2ea41575d037d6224b13d5807bbc0114626cd0b..c0bdb0cb829deaebdd6bc304a136521fb96022d7 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index bbbd4406be9bb1cccba6ac6e933f0d63e3aef4dd..6c9166cd169789c7bacd0beb84a757e3fc8c76f9 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 4c7572cae44e47415a7c7d456f111279ee109f9f..40b37e4a92ac300724196f935a18727ff868597e 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index f498f5e6cbecf5f99a02db50160b857f9f052dcb..6c2c9442acbeb48b81ca4582fc3a1daf6031a6c3 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index db566bfe09a26867a0afd02d0569648d6f3c0aee..7966f0f2f9e2757ec6bfa596cc44f17416012991 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 203677a6608acbc3c50a943bb82b30e3b5d4e6d5..53799a16e4a445ce597bf069111028202629c1d9 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index deae11126724d3689cf26f056c8cdc60ce250f51..2a634ce7c4dde300c9d57429988d0eff542119cb 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 0001237a34ecbd6ce7c1d6e854eb82667ef429fe..cebbaa93a11445abe8243be21f9c8497f0c1bdf1 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 2ab6f512c7fcf66c83ddd2c2467e5f78270750be..7335481849ccf999701e0648b0026bc3fbf78cae 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index a08115cd6c2868b6605f80a647e988cb1602339f..9f45d2907a25c08b2cbad885e344878ea5523a6b 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 155ea36345bf39e4850a674885f0c7b41422483d..8263c7f404deb0155c1d5b52bd0eb0379df1f9a8 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 8c7e84d4277a6aa32408b656fd5328c4fa8e822d..b60fff91fbc1c2a4b8c760a589bf8697d3e34168 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 37539d4970f5b0cec2ffed0ccb134d23e55a961a..29a0a48b85f4ef2d7c87bcdb6d018596a40c4522 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 94ccb612200e4660bcec6087acdcf7bbf6af7de1..a89cced51a953ef2d2af55e12629d316c33df140 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index f9d6d8430937b0b79c807b2bec895ed14e7df458..c96dbe942898e1f298d9f70f60d4a5f0f4b16901 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========"
 puts "OCC21261"
-puts "Customer : TATA"
 puts "========"
 puts ""
 ######################################################
index 2f29925f9cad9fd3a451e14fca343b7afc944ec8..e274f3f34012d091a5c79a432accc6d44113dd88 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 b098efd314cbc761a48b49904c7ae604d556d3dc..471b37763ab96ac73fd9315bad937bd8c569851e 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 18958b02e2ff58c7b64ea59e329e0024bd53f23d..0be4f4906a26d5e798e0692486c02cd1b72e333d 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 b0e912331778365627b856f107073eb3e6cde3df..723752701acaa6e884b43e9c74d9e37aeed68f9d 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 9174f95521882a71b0e003d4753745b2304ab1e1..1125d29cc689c6b8ffb437311476c606c03b90a8 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 eac73fe079dcce6e8e1461cdbb9b7ea045140ade..7922304847b02074afb8919d2fde0b3cce8feb6e 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 de23ef0c6573b4230ad56afa06acf5897dcb80ed..b992c66b2999080c4dbe5c8950082c91cac3f40a 100755 (executable)
@@ -1,6 +1,5 @@
 puts "========================"
 puts "OCC20683"
-puts "Customer : TATA"
 puts "========================"
 puts ""
 #######################################################################
index abce98ab17caea8b1ce01d32297d8d8975107fd2..194618e477eafe1af4a4099518b1183358c92d98 100755 (executable)
@@ -1,6 +1,6 @@
 puts "TODO OCC11111 ALL: TEST INCOMPLETE"
 
-cpulimit 30
+cpulimit 500
 
 puts "============"
 puts "OCC22759"
index b3c3bd9279d38c463fa0703652c761f4c8341250..816f9f2fa2440c53bd497e7e8f876ef4b6b34b2e 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 9c52ac05059096e8a17b91879b87a179d4996054..16576e260630e7424ccb8414dbfe8f2a69c37cad 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 6fad76c568104f9ee4bf4b9bde6def4637407607..d948b83ed7ff58b0adc1d4b1eca50c5ea21b7c41 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 52a2e79662f0395175d20b8d8c84c0801cea58e1..c1642344f534957078b0a88677b156bb20a6a9fe 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 9572d0e209c0798c100e891d790ddd142b77b4bf..e4ca8343e6f61c40633397b16f6c69a9c548ddc1 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 ccc71ce922a3f7eb3b6b2c89765aaf4addf7e502..34e85fd69570089e561f0b2db6c03c0cdb22f117 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 cd3d14b201eef08c85f55395402119480e2c6acd..de5c21ed785e3a128cc9531024a7ae1ae2f34774 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 b98e501fd02cf36999d91b8f1f74ddf27a78fb31..d0cfd9b45b2e4695eb35811cb9739ccf069d0a47 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC21747"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index 073ac49f03e93232ec18e573f2285fe4eb8fff0c..899db010719c6c6ffc0d3a90880b6ad621a930bb 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC21747"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index 99c57b844a7770750375c1ea3b85c8f39c0689ac..ad329ce59fac627568373f408a82f6b98759b08c 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC21747"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index 0883fd61405565315b16c177882f98fc4aea6730..639b955cee12a1771c3bf4a573300387f988af56 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC21747"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index ed9e80aa77c25334f65a55920a019d8e8ef9c6a3..2c00fd0409c9c210084af8d2d24b2e3952495532 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC21747"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index 7adfa015414db604a3eba403313a8a7fc58e6a74..58a233491153f081f9d5c15ac1e411dc1a463c59 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC21747"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index cae6df291bde1ae8ef3eaf6aa3163a228982a786..af7ccfd2a4fb42878da57a5255489befba903387 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC21747"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index d56818e51902f3064aaf0fbc7c37ccffbd3251dd..d13997ed3f53b6afb6bd69efd72600396378f15c 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC21747"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index 11cbf0643f89b66e36144957777791bce3ca2128..2d142e45b383b3aec4354685f66950bdf89f4d3d 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC21747"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index 97f27074d75435a675c17ac49dcc4900cf0302dc..0b1cf43eaab84f4f87946609606e7c4ded8de205 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC21747"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index 7f36851c4fac450f16675bd772bbd71d5a074fe2..a8133fd134735337b6c36cda45c05df5c4ef5069 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC21747"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index a9f16ca09250bd6173ef2759d3d2df6e887f261d..57522446e386a1ad5495b7cf3562b0fe44b5b9a0 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC21747"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index 9c8e415a513e81d1024692ae2d3584f10a7f8706..8465c984cb90209b38a8b5bbaf18c76cc3433827 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC21747"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index 8dc616bd2c32726d559d6e226ac022b3c340f819..431236abba8d49dad7c5b296c9647927e7f6d3cc 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC21747"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index de49cfdc1e479213d414cc1b81c7d50fc139ae0e..778916d431c67a0b51495c928be3cd8d15d3a0c7 100755 (executable)
@@ -1,6 +1,5 @@
 puts "============"
 puts "OCC21747"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index 66f29ca2fe26ba0f9afbc0ae9ba001cfd83141d0..9ced128a880a30e3110d79644d33684dc099c3d1 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 e3ccf6fdd007f1661fcf660f39cc0446e3a5b58b..b71fa92d80ac0c62604ee18418e9ca3d8144ac1e 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 8814a2716d788aa8f2ec75d806dd07522ccadbe5..e76cec22aa9de6b43a531721f9f96f8fbfac81e2 100755 (executable)
@@ -2,7 +2,6 @@ puts "TODO OCC11111 ALL: Faulty OCC22188"
 
 puts "============"
 puts "OCC22188"
-puts "Customer : TATA"
 puts "============"
 puts ""
 #######################################################################
index 8a617abb003f878e3038ead68858feeccb3ae33c..cf90249b2d897ec441dd7b59b9d47107f3cba5b7 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 885c26b0dcd11a6b33e75645f0ae88ab06bd5f04..7785082cb78b57ae8dfdeb3a7751a6c7246d9b65 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 ee06109a15746e766a0fabdb0936eee08068c0cc..7fdbb5181e5eff3eae9cc5ff6f6ddb74d6b7f9fc 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 8c15e30e07004cd13c27040625a579fdba5d9fb3..4ac2e98cd53616cece297468f56807f53b1597e9 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 d6db1e4cd5c0e43f38174d58ce67c80e4eb71dd3..5c4a69dc8bd6fda667c3ba308d2c0798154479aa 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 610d206403a4e305f0f5f27739724400719f8b5b..54f97c2a3c01a066e38bc0c88d27f528c8ac09f4 100644 (file)
@@ -1 +1,2 @@
 FAILED /\bFaulty\b/ bad shape
+IGNORE /Error 3d = [0-9.]+/ debug dump of approximator