1 # Set flag dump_file to 1 in order to regenerate script files with actual data
2 # used as reference. In this mode all tests intentionally report failure.
4 ########################################################################
7 set x_First 0; set y_First 0; set z_First 0;
10 set x_Second 0; set y_Second 0; set z_Second 0;
12 ###################################################################
15 set todo_mask "puts \"TODO CR27235 ALL: "
17 ##################################################################
20 if { [string length $filename] > 1} {
21 set path_file [locate_data_file $filename]
22 if { [catch { ReadStep D_First $path_file } catch_result] } {
23 set err_msg "Error: First - file was not read - exception "
25 append todo_msg $todo_mask $err_msg $end_line
32 # Get information presentations
35 set xst [ OCC27235 D_First]
37 if { [llength $xst] > 0 } {
38 regexp {Centre of mass+: +([-0-9.+eE]+) +([-0-9.+eE]+) +([-0-9.+eE]+)} $xst full x_First y_First z_First
39 regexp {Mass+: +([-0-9.+eE]+)} $xst full mass_First
41 puts " GDT information was NOT provided"
48 append result [format $xst]
54 puts "-----------------------------WRITING FILE ------------------------------"
55 if { [catch { WriteStep D_First $imagedir/${casename}_D_First.stp } catch_result] } {
56 set err_msg "Error: First - file was not written - exception"
58 append todo_msg $todo_mask $err_msg $end_line
62 if { [catch { ReadStep D_Second $imagedir/${casename}_D_First.stp } catch_result] } {
63 set err_msg "Error: Second - file was not read - exception"
65 append todo_msg $todo_mask $err_msg $end_line
71 catch {[file delete $imagedir/${casename}_D_First.stp]}
72 if { [catch { Close D_First } catch_result] } {
73 set err_msg "Error : cannot close a document D_First - exception"
77 # Get information about translation
80 set xst2 [ OCC27235 D_Second]
82 if { [llength $xst] > 0 } {
83 regexp {Centre of mass+: +([-0-9.+eE]+) +([-0-9.+eE]+) +([-0-9.+eE]+)} $xst2 full x_Second y_Second z_Second
84 regexp {Mass+: +([-0-9.+eE]+)} $xst2 full mass_Second
86 puts " GDT information was NOT provided"
88 if { [catch { Close D_Second } catch_result] } {
89 set err_msg "Error : cannot close a document D_Second - exception"
97 append result2 [format $xst2]
100 set err_compare_ref ""
101 # Put reference data to the test script file if option "dump" is set
102 if { $dump_file == 1 } {
103 set fd_stream [open $dirname/$groupname/$gridname/$casename w]
104 puts $fd_stream "# !!!! This file is generated automatically, do not edit manually! See end script"
105 puts $fd_stream "set filename $filename"
108 puts $fd_stream "set ref_data \{"
109 puts $fd_stream $result
113 } elseif { $mist != 1 } {
114 puts "========================== Comparison with reference data ========"
116 # Comparison of reference data with obtained result
117 set x_Ref 0; set y_Ref 0; set z_Ref 0;
119 regexp {Centre of mass+: +([-0-9.+eE]+) +([-0-9.+eE]+) +([-0-9.+eE]+)} $ref_data full x_Ref y_Ref z_Ref
120 regexp {Mass+: +([-0-9.+eE]+)} $ref_data full mass_Ref
122 if {[expr abs($x_Ref - $x_First)] > 1e-4 || [expr abs($x_Ref - $x_Second)] > 1e-4} {
124 append err_compare_ref " Reference data - $x_Ref\n"
125 append err_compare_ref " Current data - $x_Second ($x_First)\n"
126 append err_compare_ref "--------------------------------------------------------------------\n"
129 if {[expr abs($y_Ref - $y_First)] > 1e-4 || [expr abs($y_Ref - $y_Second)] > 1e-4} {
131 append err_compare_ref " Reference data - $y_Ref\n"
132 append err_compare_ref " Current data - $y_Second ($y_First)\n"
133 append err_compare_ref "--------------------------------------------------------------------\n"
135 if {[expr abs($z_Ref - $z_First)] > 1e-4 || [expr abs($z_Ref - $z_Second)] > 1e-4} {
137 append err_compare_ref " Reference data - $z_Ref\n"
138 append err_compare_ref " Current data - $z_Second ($z_First)\n"
139 append err_compare_ref "--------------------------------------------------------------------\n"
141 if {[expr abs($mass_Ref - $mass_First)] > 1e-4 || [expr abs($mass_Ref - $mass_Second)] > 1e-4} {
143 append err_compare_ref " Reference data - $mass_Ref\n"
144 append err_compare_ref " Current data - $mass_Second ($mass_First)\n"
145 append err_compare_ref "--------------------------------------------------------------------\n"
149 if { $dump_file != 0 } {
150 puts "Error : Running in regeneration mode, comparison was not performed!"
152 puts "Generation of test file $groupname/$gridname/$casename successful"
154 puts "Generation of reference data failed"
157 if { $ref_Compare > 0} {
158 puts "Error : $ref_Compare differences with reference data found :\n$err_compare_ref"
160 puts "Comparison of current result with reference data - OK\n"
164 puts "--------------------------------------------------------------------"
167 puts "TEST COMPLETED"