File: end

package info (click to toggle)
opencascade 7.5.1%2Bdfsg1-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 290,544 kB
  • sloc: cpp: 1,190,524; tcl: 15,703; cs: 5,173; java: 1,557; ansic: 1,174; sh: 901; xml: 699; perl: 54; makefile: 27
file content (167 lines) | stat: -rw-r--r-- 5,744 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
# Set flag dump_file to 1 in order to regenerate script files with actual data
# used as reference. In this mode all tests intentionaly report failure. 
set dump_file 0
########################################################################
set mist 0;
# First
set x_First 0; set y_First 0; set z_First 0;
set mass_First 0;
# Second
set x_Second 0; set y_Second 0; set z_Second 0;
set mass_Second 0;
###################################################################
set ref_Compare 0
set todo_msg ""
set todo_mask "puts \"TODO CR27235 ALL: "
set end_line "\" \n"
##################################################################

# Read original file
if { [string length $filename] > 1} {
  set path_file [locate_data_file $filename]
  if { [catch { ReadStep D_First $path_file } catch_result] } {
    set err_msg "Error: First - file was not read - exception "
    puts $err_msg
    append todo_msg $todo_mask $err_msg $end_line
    set mist 1
  }
} else {
  set mist 1
}

# Get information presentations
if { $mist < 1} {           
  puts ""
  set xst [ OCC27235 D_First] 

  if { [llength $xst] > 0 } {
    regexp {Centre of mass+: +([-0-9.+eE]+) +([-0-9.+eE]+) +([-0-9.+eE]+)} $xst full x_First y_First z_First
    regexp {Mass+: +([-0-9.+eE]+)} $xst full mass_First
  } else {
      puts " GDT information was NOT provided"
  }
}

if { $mist != 1 } {  
  puts "" 
  set result ""
  append result [format $xst]
}

# Writing file
if { $mist < 1} {
  puts " "
  puts "-----------------------------WRITING FILE ------------------------------"
  if { [catch { WriteStep D_First $imagedir/${casename}_D_First.stp } catch_result] } {
    set err_msg "Error: First - file was not written - exception"
    puts $err_msg
    append todo_msg $todo_mask $err_msg $end_line
    set mist 1
  }
  if { $mist < 1 } {
    if { [catch { ReadStep D_Second $imagedir/${casename}_D_First.stp } catch_result] } {
      set err_msg "Error: Second - file was not read - exception"
      puts $err_msg
      append todo_msg $todo_mask $err_msg $end_line
      set mist 1
    }
  }
}

catch {[file delete $imagedir/${casename}_D_First.stp]}
if { [catch { Close D_First } catch_result] } {
  set err_msg "Error : cannot close a document D_First - exception"
  puts $err_msg
}

# Get information about translation
if { $mist < 1} {           
  puts ""
  set xst2 [ OCC27235 D_Second] 

  if { [llength $xst] > 0 } {
    regexp {Centre of mass+: +([-0-9.+eE]+) +([-0-9.+eE]+) +([-0-9.+eE]+)} $xst2 full x_Second y_Second z_Second
    regexp {Mass+: +([-0-9.+eE]+)} $xst2 full mass_Second
  } else {
      puts " GDT information was NOT provided"
  }
  if { [catch { Close D_Second } catch_result] } {
    set err_msg "Error : cannot close a document D_Second - exception"
    puts $err_msg
  }
}

if { $mist != 1 } {  
  puts "" 
  set result2 ""
  append result2 [format $xst2]
}

set err_compare_ref ""
# Put reference data to the test script file if option "dump" is set
if { $dump_file == 1 } { 
  set fd_stream  [open $dirname/$groupname/$gridname/$casename w] 
  puts $fd_stream "# !!!! This file is generated automatically, do not edit manually! See end script"
  puts $fd_stream "set filename $filename"
  if { $mist != 1 } {
    puts $fd_stream "" 
    puts $fd_stream "set ref_data \{"
    puts $fd_stream $result
    puts $fd_stream "\}"
  }
  close $fd_stream 
} elseif { $mist != 1 } {
  puts "========================== Comparision with reference data ========"
  puts ""
  # Comparision of reference data with obtained result
  set x_Ref 0; set y_Ref 0; set z_Ref 0;
  set mass_Ref 0;
  regexp {Centre of mass+: +([-0-9.+eE]+) +([-0-9.+eE]+) +([-0-9.+eE]+)} $ref_data full x_Ref y_Ref z_Ref
  regexp {Mass+: +([-0-9.+eE]+)} $ref_data full mass_Ref

  if {[expr abs($x_Ref - $x_First)] > 1e-4 || [expr abs($x_Ref - $x_Second)] > 1e-4} {
    incr ref_Compare
    append err_compare_ref " Reference data - $x_Ref\n"
    append err_compare_ref " Current data - $x_Second ($x_First)\n"
    append err_compare_ref "--------------------------------------------------------------------\n"
  }
    
  if {[expr abs($y_Ref - $y_First)] > 1e-4 || [expr abs($y_Ref - $y_Second)] > 1e-4} {
    incr ref_Compare
    append err_compare_ref " Reference data - $y_Ref\n"
    append err_compare_ref " Current data - $y_Second ($y_First)\n"
    append err_compare_ref "--------------------------------------------------------------------\n"
    }
  if {[expr abs($z_Ref - $z_First)] > 1e-4 || [expr abs($z_Ref - $z_Second)] > 1e-4} {
    incr ref_Compare
    append err_compare_ref " Reference data - $z_Ref\n"
    append err_compare_ref " Current data - $z_Second ($z_First)\n"
    append err_compare_ref "--------------------------------------------------------------------\n"
    }
  if {[expr abs($mass_Ref - $mass_First)] > 1e-4 || [expr abs($mass_Ref - $mass_Second)] > 1e-4} {
    incr ref_Compare
    append err_compare_ref " Reference data - $mass_Ref\n"
    append err_compare_ref " Current data - $mass_Second ($mass_First)\n"
    append err_compare_ref "--------------------------------------------------------------------\n"
    }
  }

if { $dump_file != 0 } {
    puts "Error : Running in regeneration mode, comparision was not performed!"
    if { $mist != 1 } {
      	 puts "Generation of test file $groupname/$gridname/$casename successful"
    } else {
      	 puts "Generation of reference data failed"
    }
} else {
    if { $ref_Compare > 0} {
        puts "Error : $ref_Compare differences with reference data found :\n$err_compare_ref"
    } else {
        puts "Comparision of current result with reference data - OK\n"
    }    
}

puts "--------------------------------------------------------------------"
puts ""

puts "TEST COMPLETED"