PageRenderTime 44ms CodeModel.GetById 17ms RepoModel.GetById 0ms app.codeStats 0ms

/tags/rel-1-3-25/SWIG/Examples/test-suite/tcl/overload_simple_runme.tcl

#
TCL | 166 lines | 132 code | 34 blank | 0 comment | 51 complexity | cab2ff17fb1987b449fd0e120e9d8d0d MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
  1. if [ catch { load ./overload_simple[info sharedlibextension] overload_simple} err_msg ] {
  2. puts stderr "Could not load shared object:\n$err_msg"
  3. }
  4. set f [new_Foo]
  5. set b [new_Bar]
  6. set v [malloc_void 32]
  7. set x [foo 3]
  8. if {$x != "foo:int"} {
  9. puts stderr "foo(int) test failed"
  10. exit 1
  11. }
  12. set x [foo 3.4]
  13. if {$x != "foo:double"} {
  14. puts stderr "foo(double) test failed"
  15. exit 1
  16. }
  17. set x [foo hello]
  18. if {$x != "foo:char *"} {
  19. puts stderr "foo(char *) test failed"
  20. exit 1
  21. }
  22. set x [foo $f]
  23. if {$x != "foo:Foo *"} {
  24. puts stderr "foo(Foo *) test failed"
  25. exit 1
  26. }
  27. set x [foo $b]
  28. if {$x != "foo:Bar *"} {
  29. puts stderr "foo(Bar *) test failed"
  30. exit 1
  31. }
  32. set x [foo $v]
  33. if {$x != "foo:void *"} {
  34. puts stderr "foo(void *) test failed"
  35. exit 1
  36. }
  37. Spam s
  38. set x [s foo 3]
  39. if {$x != "foo:int"} {
  40. puts stderr "Spam::foo(int) test failed"
  41. exit 1
  42. }
  43. set x [s foo 3.4]
  44. if {$x != "foo:double"} {
  45. puts stderr "Spam::foo(double) test failed"
  46. exit 1
  47. }
  48. set x [s foo hello]
  49. if {$x != "foo:char *"} {
  50. puts stderr "Spam::foo(char *) test failed"
  51. exit 1
  52. }
  53. set x [s foo $f]
  54. if {$x != "foo:Foo *"} {
  55. puts stderr "Spam::foo(Foo *) test failed"
  56. exit 1
  57. }
  58. set x [s foo $b]
  59. if {$x != "foo:Bar *"} {
  60. puts stderr "Spam::foo(Bar *) test failed"
  61. exit 1
  62. }
  63. set x [s foo $v]
  64. if {$x != "foo:void *"} {
  65. puts stderr "Spam::foo(void *) test failed"
  66. exit 1
  67. }
  68. set x [Spam_bar 3]
  69. if {$x != "bar:int"} {
  70. puts stderr "Spam::bar(int) test failed"
  71. exit 1
  72. }
  73. set x [Spam_bar 3.4]
  74. if {$x != "bar:double"} {
  75. puts stderr "Spam::bar(double) test failed"
  76. exit 1
  77. }
  78. set x [Spam_bar hello]
  79. if {$x != "bar:char *"} {
  80. puts stderr "Spam::bar(char *) test failed"
  81. exit 1
  82. }
  83. set x [Spam_bar $f]
  84. if {$x != "bar:Foo *"} {
  85. puts stderr "Spam::bar(Foo *) test failed"
  86. exit 1
  87. }
  88. set x [Spam_bar $b]
  89. if {$x != "bar:Bar *"} {
  90. puts stderr "Spam::bar(Bar *) test failed"
  91. exit 1
  92. }
  93. set x [Spam_bar $v]
  94. if {$x != "bar:void *"} {
  95. puts stderr "Spam::bar(void *) test failed"
  96. exit 1
  97. }
  98. Spam s
  99. set x [s cget -type]
  100. if {$x != "none"} {
  101. puts stderr "Spam() test failed"
  102. }
  103. Spam s 3
  104. set x [s cget -type]
  105. if {$x != "int"} {
  106. puts stderr "Spam(int) test failed"
  107. }
  108. Spam s 3.4
  109. set x [s cget -type]
  110. if {$x != "double"} {
  111. puts stderr "Spam(double) test failed"
  112. }
  113. Spam s hello
  114. set x [s cget -type]
  115. if {$x != "char *"} {
  116. puts stderr "Spam(char *) test failed"
  117. }
  118. Spam s $f
  119. set x [s cget -type]
  120. if {$x != "Foo *"} {
  121. puts stderr "Spam(Foo *) test failed"
  122. }
  123. Spam s $b
  124. set x [s cget -type]
  125. if {$x != "Bar *"} {
  126. puts stderr "Spam(Bar *) test failed"
  127. }
  128. Spam s $v
  129. set x [s cget -type]
  130. if {$x != "void *"} {
  131. puts stderr "Spam(void *) test failed"
  132. }