Mxx_ru 1.3.0 → 1.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (190) hide show
  1. data/COPYING +26 -26
  2. data/NEWS +107 -107
  3. data/README +21 -21
  4. data/Rakefile +56 -59
  5. data/examples/exe_and_lib/prj.rb +11 -11
  6. data/examples/exe_and_lib/say.rb +7 -7
  7. data/examples/exe_dll_lib/inout.rb +18 -18
  8. data/examples/exe_dll_lib/prj.rb +11 -11
  9. data/examples/exe_dll_lib/say.rb +9 -9
  10. data/examples/exe_dll_lib_2/build.rb +10 -10
  11. data/examples/exe_dll_lib_2/inout/prj.rb +16 -16
  12. data/examples/exe_dll_lib_2/main/prj.rb +9 -9
  13. data/examples/exe_dll_lib_2/say/prj.rb +8 -8
  14. data/examples/simple_exe/prj.rb +7 -7
  15. data/lib/mxx_ru/abstract_target.rb +335 -335
  16. data/lib/mxx_ru/binary_library.rb +106 -106
  17. data/lib/mxx_ru/binary_target.rb +173 -173
  18. data/lib/mxx_ru/binary_unittest.rb +143 -143
  19. data/lib/mxx_ru/compat.rb +33 -33
  20. data/lib/mxx_ru/cpp.rb +38 -38
  21. data/lib/mxx_ru/cpp/analyzer.rb +237 -237
  22. data/lib/mxx_ru/cpp/composite.rb +118 -118
  23. data/lib/mxx_ru/cpp/detect_toolset.rb +122 -122
  24. data/lib/mxx_ru/cpp/mode.rb +90 -90
  25. data/lib/mxx_ru/cpp/obj_placement.rb +330 -330
  26. data/lib/mxx_ru/cpp/obj_placements/custom_subdir.rb +155 -155
  27. data/lib/mxx_ru/cpp/qt.rb +366 -366
  28. data/lib/mxx_ru/cpp/rucodegen.rb +157 -157
  29. data/lib/mxx_ru/cpp/source_file.rb +79 -79
  30. data/lib/mxx_ru/cpp/target.rb +1523 -1523
  31. data/lib/mxx_ru/cpp/toolset.rb +1087 -1087
  32. data/lib/mxx_ru/cpp/toolsets/bcc_win32_5.rb +53 -53
  33. data/lib/mxx_ru/cpp/toolsets/bcc_win32_family.rb +460 -460
  34. data/lib/mxx_ru/cpp/toolsets/c89_etk_nsk.rb +59 -59
  35. data/lib/mxx_ru/cpp/toolsets/c89_nsk.rb +59 -59
  36. data/lib/mxx_ru/cpp/toolsets/c89_nsk_family.rb +277 -277
  37. data/lib/mxx_ru/cpp/toolsets/gcc_cygwin.rb +58 -58
  38. data/lib/mxx_ru/cpp/toolsets/gcc_family.rb +420 -424
  39. data/lib/mxx_ru/cpp/toolsets/gcc_linux.rb +64 -64
  40. data/lib/mxx_ru/cpp/toolsets/gcc_mingw.rb +150 -150
  41. data/lib/mxx_ru/cpp/toolsets/gcc_sparc_solaris.rb +91 -91
  42. data/lib/mxx_ru/cpp/toolsets/gcc_unix_family.rb +103 -84
  43. data/lib/mxx_ru/cpp/toolsets/vc7.rb +62 -62
  44. data/lib/mxx_ru/cpp/toolsets/vc8.rb +455 -455
  45. data/lib/mxx_ru/cpp/toolsets/vc_family.rb +448 -448
  46. data/lib/mxx_ru/ex.rb +165 -165
  47. data/lib/mxx_ru/makestyle_generator.rb +146 -146
  48. data/lib/mxx_ru/textfile_unittest.rb +303 -303
  49. data/lib/mxx_ru/util.rb +340 -340
  50. data/tests/c/pcre/chartables.c +183 -183
  51. data/tests/c/pcre/config.h +99 -99
  52. data/tests/c/pcre/dftables.c +167 -167
  53. data/tests/c/pcre/get.c +349 -349
  54. data/tests/c/pcre/internal.h +677 -677
  55. data/tests/c/pcre/maketables.c +140 -140
  56. data/tests/c/pcre/pcre.c +8304 -8304
  57. data/tests/c/pcre/pcre.h +193 -193
  58. data/tests/c/pcre/pcre.rb +14 -14
  59. data/tests/c/pcre/pcredemo.c +316 -316
  60. data/tests/c/pcre/pcregrep.c +642 -642
  61. data/tests/c/pcre/pcreposix.c +305 -305
  62. data/tests/c/pcre/pcreposix.h +88 -88
  63. data/tests/c/pcre/pcretest.c +1483 -1483
  64. data/tests/c/pcre/perltest +211 -211
  65. data/tests/c/pcre/printint.c +360 -360
  66. data/tests/c/pcre/study.c +472 -472
  67. data/tests/cpp/cpp_sources_glob/build.rb +7 -7
  68. data/tests/cpp/cpp_sources_glob/some/module/prj.rb +10 -10
  69. data/tests/cpp/cpp_sources_glob/tc_cpp_sources_glob.rb +18 -18
  70. data/tests/cpp/mswin_res_dll/build.rb +14 -14
  71. data/tests/cpp/mswin_res_dll/dll.cpp +17 -17
  72. data/tests/cpp/mswin_res_dll/dll.rb +29 -29
  73. data/tests/cpp/mswin_res_dll/dll.rc +48 -48
  74. data/tests/cpp/mswin_res_dll/h/dll.hpp +8 -8
  75. data/tests/cpp/mswin_res_dll/h/res.h +3 -3
  76. data/tests/cpp/mswin_res_dll/main.cpp +13 -13
  77. data/tests/cpp/mswin_res_dll/main.rb +19 -19
  78. data/tests/cpp/mswin_res_dll/tc_mswin_res_dll.rb +18 -18
  79. data/tests/cpp/mswin_res_exe/build.rb +23 -23
  80. data/tests/cpp/mswin_res_exe/h/res.h +3 -3
  81. data/tests/cpp/mswin_res_exe/main.cpp +17 -17
  82. data/tests/cpp/mswin_res_exe/main.rc +48 -48
  83. data/tests/cpp/mswin_res_exe/tc_mswin_res_exe.rb +18 -18
  84. data/tests/cpp/rucodegen.embedded/host_config.cpp +32 -32
  85. data/tests/cpp/rucodegen.embedded/impl/conn_params.cpp +7 -7
  86. data/tests/cpp/rucodegen.embedded/impl/conn_params.rb +14 -14
  87. data/tests/cpp/rucodegen.embedded/impl/h/conn_params.hpp +10 -10
  88. data/tests/cpp/rucodegen.embedded/prj.rb +16 -16
  89. data/tests/cpp/rucodegen.embedded/tc_rucodegen.rb +18 -18
  90. data/tests/cpp/rucodegen/host_config.cpp +20 -20
  91. data/tests/cpp/rucodegen/host_config.rb +14 -14
  92. data/tests/cpp/rucodegen/impl/conn_params.cpp +7 -7
  93. data/tests/cpp/rucodegen/impl/conn_params.rb +14 -14
  94. data/tests/cpp/rucodegen/impl/h/conn_params.hpp +10 -10
  95. data/tests/cpp/rucodegen/prj.rb +16 -16
  96. data/tests/cpp/rucodegen/tc_rucodegen.rb +18 -18
  97. data/tests/cpp/textfile_unittest/build.rb +8 -8
  98. data/tests/cpp/textfile_unittest/etalons/out_1.txt +1 -1
  99. data/tests/cpp/textfile_unittest/etalons/out_128.txt +128 -128
  100. data/tests/cpp/textfile_unittest/main.cpp +89 -89
  101. data/tests/cpp/textfile_unittest/prj.rb +8 -8
  102. data/tests/cpp/textfile_unittest/prj.ut.rb +18 -18
  103. data/tests/cpp/textfile_unittest/tc_textfile_unittest.rb +18 -18
  104. data/tests/cpp/toolset_name.rb +6 -6
  105. data/tests/cpp/vc_cleanup/prj_dll_no_implib.rb +10 -10
  106. data/tests/cpp/vc_cleanup/prj_dll_no_implib_simple_target_root.rb +11 -11
  107. data/tests/cpp/vc_cleanup/prj_dll_with_implib.rb +11 -11
  108. data/tests/cpp/vc_cleanup/prj_dll_with_implib_simple_target_root.rb +14 -14
  109. data/tests/cpp/vc_cleanup/prj_exe_no_implib.rb +10 -10
  110. data/tests/cpp/vc_cleanup/prj_exe_no_implib_simple_target_root.rb +11 -11
  111. data/tests/cpp/vc_cleanup/prj_lib.rb +10 -10
  112. data/tests/cpp/vc_cleanup/prj_lib_with_simple_target_root.rb +11 -11
  113. data/tests/cpp/vc_cleanup/tc_vc_cleanup.rb +23 -23
  114. data/tests/mxx_ru/binary_library/tc_binary_library.rb +57 -57
  115. data/tests/mxx_ru/binary_library/tc_binary_target_lib_methods.rb +114 -114
  116. data/tests/mxx_ru/change_default_value/ignoring_by_build_root/build.rb +8 -8
  117. data/tests/mxx_ru/change_default_value/ignoring_by_build_root/child_1.rb +5 -5
  118. data/tests/mxx_ru/change_default_value/ignoring_by_child_1/build.rb +7 -7
  119. data/tests/mxx_ru/change_default_value/ignoring_by_child_1/child_1.rb +5 -5
  120. data/tests/mxx_ru/change_default_value/ignoring_by_child_1/child_2.rb +5 -5
  121. data/tests/mxx_ru/change_default_value/ok/build.rb +8 -8
  122. data/tests/mxx_ru/change_default_value/ok/child_1.rb +8 -8
  123. data/tests/mxx_ru/lib_path/build.rb +8 -8
  124. data/tests/mxx_ru/lib_path/bye.rb +8 -8
  125. data/tests/mxx_ru/lib_path/hi.rb +8 -8
  126. data/tests/mxx_ru/lib_path/main.rb +12 -12
  127. data/tests/mxx_ru/lib_path/tc_lib_path.rb +18 -18
  128. data/tests/mxx_ru/obj_placements/tc_custom_subdir.rb +58 -58
  129. data/tests/mxx_ru/opt_lib_ext/build.rb +7 -7
  130. data/tests/mxx_ru/opt_lib_ext/hi.rb +7 -7
  131. data/tests/mxx_ru/opt_lib_ext/tc_opt_lib_ext.rb +18 -18
  132. data/tests/mxx_ru/opt_lib_ext/test-no-ext.rb +9 -9
  133. data/tests/mxx_ru/opt_lib_ext/test-with-ext.rb +13 -13
  134. data/tests/mxx_ru/plural_form_methods/tc.rb +72 -72
  135. data/tests/mxx_ru/qt_gen/tc_uic_result_subdir.rb +76 -76
  136. data/tests/mxx_ru/target_ext/prj_dll.rb +8 -8
  137. data/tests/mxx_ru/target_ext/prj_exe.rb +8 -8
  138. data/tests/mxx_ru/target_ext/prj_lib.rb +8 -8
  139. data/tests/mxx_ru/target_ext/tc_target_ext.rb +24 -24
  140. data/tests/mxx_ru/tc_makestyle_generator.rb +117 -117
  141. data/tests/mxx_ru/vc8/tc_actual_manifest.rb +230 -230
  142. data/tests/mxx_ru/vc8/tc_append_mt_commands.rb +104 -104
  143. data/tests/mxx_ru/vc8/tc_default_manifest.rb +17 -17
  144. data/tests/mxx_ru/vc8/tc_define_manifest.rb +173 -173
  145. data/tests/mxx_ru/vc8/tc_drop_default_manifest.rb +16 -16
  146. data/tests/mxx_ru/vc8/tc_invalid_params.rb +81 -81
  147. data/tests/mxx_ru/vc8/ts_vc8.rb +10 -10
  148. data/tests/qt/aclock/aclock.cpp +148 -148
  149. data/tests/qt/aclock/aclock.h +45 -45
  150. data/tests/qt/aclock/main.cpp +28 -28
  151. data/tests/qt/aclock/prj.rb +21 -21
  152. data/tests/qt/iconview/main.cpp +76 -76
  153. data/tests/qt/iconview/prj.rb +21 -21
  154. data/tests/qt/toplevel/main.cpp +9 -9
  155. data/tests/qt/toplevel/options.ui +587 -587
  156. data/tests/qt/toplevel/prj.rb +22 -22
  157. data/tests/test_with_compilation.rb +110 -110
  158. data/tests/unix/lib_linking_mode/a_shared.rb +7 -7
  159. data/tests/unix/lib_linking_mode/a_static.rb +7 -7
  160. data/tests/unix/lib_linking_mode/etalon/shared.txt +2 -2
  161. data/tests/unix/lib_linking_mode/etalon/static.txt +2 -2
  162. data/tests/unix/lib_linking_mode/main_conflict.rb +12 -12
  163. data/tests/unix/lib_linking_mode/main_conflict_2.rb +11 -11
  164. data/tests/unix/lib_linking_mode/main_shared.rb +9 -9
  165. data/tests/unix/lib_linking_mode/main_shared.ut.rb +11 -11
  166. data/tests/unix/lib_linking_mode/main_shared_2.rb +10 -10
  167. data/tests/unix/lib_linking_mode/main_shared_2.ut.rb +11 -11
  168. data/tests/unix/lib_linking_mode/main_static.rb +9 -9
  169. data/tests/unix/lib_linking_mode/main_static.ut.rb +11 -11
  170. data/tests/unix/lib_linking_mode/main_static_2.rb +10 -10
  171. data/tests/unix/lib_linking_mode/main_static_2.ut.rb +11 -11
  172. data/tests/unix/lib_linking_mode/tc_conflicted_build.rb +18 -18
  173. data/tests/unix/lib_linking_mode/tc_normal_build.rb +18 -18
  174. data/tests/unix/lib_order/a.cpp +4 -0
  175. data/tests/unix/lib_order/a.hpp +1 -0
  176. data/tests/unix/lib_order/a.rb +8 -0
  177. data/tests/unix/lib_order/b.cpp +10 -0
  178. data/tests/unix/lib_order/b.hpp +1 -0
  179. data/tests/unix/lib_order/b.rb +8 -0
  180. data/tests/unix/lib_order/build.rb +9 -0
  181. data/tests/unix/lib_order/c.cpp +12 -0
  182. data/tests/unix/lib_order/c.hpp +2 -0
  183. data/tests/unix/lib_order/c.rb +8 -0
  184. data/tests/unix/lib_order/d.cpp +7 -0
  185. data/tests/unix/lib_order/d.hpp +1 -0
  186. data/tests/unix/lib_order/d.rb +8 -0
  187. data/tests/unix/lib_order/main.cpp +7 -0
  188. data/tests/unix/lib_order/main.rb +14 -0
  189. data/tests/unix/lib_order/tc_normal_build.rb +16 -0
  190. metadata +342 -319
@@ -1,8 +1,8 @@
1
- require 'mxx_ru/cpp'
2
-
3
- Mxx_ru::Cpp::dll_target {
4
- target 'custom_ext'
5
- target_ext '.dynamic'
6
-
7
- cpp_source 'dll_hi.cpp'
8
- }
1
+ require 'mxx_ru/cpp'
2
+
3
+ Mxx_ru::Cpp::dll_target {
4
+ target 'custom_ext'
5
+ target_ext '.dynamic'
6
+
7
+ cpp_source 'dll_hi.cpp'
8
+ }
@@ -1,8 +1,8 @@
1
- require 'mxx_ru/cpp'
2
-
3
- Mxx_ru::Cpp::exe_target {
4
- target 'custom_ext'
5
- target_ext '.executable'
6
-
7
- cpp_source 'exe_hi.cpp'
8
- }
1
+ require 'mxx_ru/cpp'
2
+
3
+ Mxx_ru::Cpp::exe_target {
4
+ target 'custom_ext'
5
+ target_ext '.executable'
6
+
7
+ cpp_source 'exe_hi.cpp'
8
+ }
@@ -1,8 +1,8 @@
1
- require 'mxx_ru/cpp'
2
-
3
- Mxx_ru::Cpp::lib_target {
4
- target 'custom_ext'
5
- target_ext '.static'
6
-
7
- cpp_source 'lib_hi.cpp'
8
- }
1
+ require 'mxx_ru/cpp'
2
+
3
+ Mxx_ru::Cpp::lib_target {
4
+ target 'custom_ext'
5
+ target_ext '.static'
6
+
7
+ cpp_source 'lib_hi.cpp'
8
+ }
@@ -1,24 +1,24 @@
1
- require 'test/unit'
2
-
3
- require File.dirname( __FILE__ ) + '/../../test_with_compilation'
4
-
5
- class TC_TargetExt < Test::Unit::TestCase
6
- include TestWithCompilation
7
-
8
- test_path 'tests/mxx_ru/target_ext'
9
-
10
- test_case :cleanup do
11
- project_files = Dir[ 'prj_*.rb' ]
12
-
13
- build( *project_files )
14
-
15
- result_files = Dir.glob( "**/*custom_ext.{static,dynamic,executable}" )
16
-
17
- # One file for each type of target must exists.
18
- assert_equal( 3, result_files.size )
19
-
20
- clean( *project_files )
21
- end
22
-
23
- end
24
-
1
+ require 'test/unit'
2
+
3
+ require File.dirname( __FILE__ ) + '/../../test_with_compilation'
4
+
5
+ class TC_TargetExt < Test::Unit::TestCase
6
+ include TestWithCompilation
7
+
8
+ test_path 'tests/mxx_ru/target_ext'
9
+
10
+ test_case :cleanup do
11
+ project_files = Dir[ 'prj_*.rb' ]
12
+
13
+ build( *project_files )
14
+
15
+ result_files = Dir.glob( "**/*custom_ext.{static,dynamic,executable}" )
16
+
17
+ # One file for each type of target must exists.
18
+ assert_equal( 3, result_files.size )
19
+
20
+ clean( *project_files )
21
+ end
22
+
23
+ end
24
+
@@ -1,117 +1,117 @@
1
- require 'test/unit'
2
-
3
- require 'mxx_ru/makestyle_generator'
4
- require 'mxx_ru/util'
5
-
6
- class TC_makestyle_generator < Test::Unit::TestCase
7
- def test_new
8
- g1 = Mxx_ru::Makestyle_generator.new(
9
- [ "a" ], [ "b" ], [ "c" ], [ "d" ] )
10
-
11
- assert( [ "a" ] == g1.target_files )
12
- assert( [ "b" ] == g1.dependencies )
13
- assert( [ "c" ] == g1.build_cmds )
14
- assert( [ "d" ] == g1.clean_cmds )
15
-
16
- g2 = Mxx_ru::Makestyle_generator.new(
17
- [ "a", "b" ], [ "c", "d" ], [ "e", "f" ] )
18
- assert_equal( [ "a", "b" ], g2.target_files )
19
- assert_equal( [ "c", "d" ], g2.dependencies )
20
- assert_equal( [ "e", "f" ], g2.build_cmds )
21
- assert_equal( [], g2.clean_cmds )
22
-
23
- g3 = Mxx_ru::Makestyle_generator.new(
24
- "a", "b", "c", "d" )
25
-
26
- assert( [ "a" ] == g3.target_files )
27
- assert( [ "b" ] == g3.dependencies )
28
- assert( [ "c" ] == g3.build_cmds )
29
- assert( [ "d" ] == g3.clean_cmds )
30
-
31
- end
32
-
33
- def test_build_simple
34
- g1 = Mxx_ru::Makestyle_generator.new(
35
- "a", "b", "echo hello > a" )
36
-
37
- Mxx_ru::Util.delete_file( "a" )
38
- File.new( "b", "w" ).close
39
-
40
- g1.build( "dummy" )
41
-
42
- assert( FileTest.exists?( "a" ) )
43
- end
44
-
45
- def test_build_no_real_rebuild
46
-
47
- Mxx_ru::Util.delete_file( "t" )
48
- Mxx_ru::Util.delete_file( "d" )
49
-
50
- File.new( "d", "w" ).close
51
- File.new( "t", "w" ).close
52
-
53
- g = Mxx_ru::Makestyle_generator.new(
54
- "t", "d", "echo has been rebuilt > t" )
55
-
56
- assert_equal( 0, FileTest.size( "t" ) )
57
- end
58
-
59
- def test_build_multiple
60
- Mxx_ru::Util.delete_file( "t3" )
61
-
62
- File.new( "d", "w" ).close
63
-
64
- g = Mxx_ru::Makestyle_generator.new(
65
- [ "t1", "t2", "t3" ], [ "d" ],
66
- [
67
- "echo t1 > t1",
68
- "echo t2 > t2"
69
- ] )
70
- g.build( "dummy" )
71
-
72
- assert( FileTest.size( "t1" ) > 0 )
73
- assert( FileTest.size( "t2" ) > 0 )
74
- assert( !FileTest.exists?( "t3" ) )
75
-
76
- File.truncate( "t1", 0 )
77
- File.truncate( "t2", 0 )
78
-
79
- g.build( "dummy" )
80
-
81
- assert( FileTest.size( "t1" ) > 0 )
82
- assert( FileTest.size( "t2" ) > 0 )
83
- assert( !FileTest.exists?( "t3" ) )
84
-
85
- end
86
-
87
- def test_clean_simple
88
- File.new( "d", "w" ).close
89
-
90
- g = Mxx_ru::Makestyle_generator.new(
91
- [ "t1", "t2", "t3" ], [ "d" ],
92
- [
93
- "echo t1 > t1",
94
- "echo t2 > t2",
95
- "echo t3 > t3"
96
- ] )
97
- g.build( "dummy" )
98
-
99
- assert( FileTest.size( "t1" ) > 0 )
100
- assert( FileTest.size( "t2" ) > 0 )
101
- assert( FileTest.size( "t3" ) > 0 )
102
-
103
- g.clean( "dummy" )
104
-
105
- assert( !FileTest.exists?( "t1" ) )
106
- assert( !FileTest.exists?( "t2" ) )
107
- assert( !FileTest.exists?( "t3" ) )
108
- end
109
-
110
- def teardown
111
- [ "a", "b", "c", "d", "e",
112
- "t", "t1", "t2", "t3" ].each do |f|
113
- Mxx_ru::Util.delete_file( f )
114
- end
115
- end
116
- end
117
-
1
+ require 'test/unit'
2
+
3
+ require 'mxx_ru/makestyle_generator'
4
+ require 'mxx_ru/util'
5
+
6
+ class TC_makestyle_generator < Test::Unit::TestCase
7
+ def test_new
8
+ g1 = Mxx_ru::Makestyle_generator.new(
9
+ [ "a" ], [ "b" ], [ "c" ], [ "d" ] )
10
+
11
+ assert( [ "a" ] == g1.target_files )
12
+ assert( [ "b" ] == g1.dependencies )
13
+ assert( [ "c" ] == g1.build_cmds )
14
+ assert( [ "d" ] == g1.clean_cmds )
15
+
16
+ g2 = Mxx_ru::Makestyle_generator.new(
17
+ [ "a", "b" ], [ "c", "d" ], [ "e", "f" ] )
18
+ assert_equal( [ "a", "b" ], g2.target_files )
19
+ assert_equal( [ "c", "d" ], g2.dependencies )
20
+ assert_equal( [ "e", "f" ], g2.build_cmds )
21
+ assert_equal( [], g2.clean_cmds )
22
+
23
+ g3 = Mxx_ru::Makestyle_generator.new(
24
+ "a", "b", "c", "d" )
25
+
26
+ assert( [ "a" ] == g3.target_files )
27
+ assert( [ "b" ] == g3.dependencies )
28
+ assert( [ "c" ] == g3.build_cmds )
29
+ assert( [ "d" ] == g3.clean_cmds )
30
+
31
+ end
32
+
33
+ def test_build_simple
34
+ g1 = Mxx_ru::Makestyle_generator.new(
35
+ "a", "b", "echo hello > a" )
36
+
37
+ Mxx_ru::Util.delete_file( "a" )
38
+ File.new( "b", "w" ).close
39
+
40
+ g1.build( "dummy" )
41
+
42
+ assert( FileTest.exists?( "a" ) )
43
+ end
44
+
45
+ def test_build_no_real_rebuild
46
+
47
+ Mxx_ru::Util.delete_file( "t" )
48
+ Mxx_ru::Util.delete_file( "d" )
49
+
50
+ File.new( "d", "w" ).close
51
+ File.new( "t", "w" ).close
52
+
53
+ g = Mxx_ru::Makestyle_generator.new(
54
+ "t", "d", "echo has been rebuilt > t" )
55
+
56
+ assert_equal( 0, FileTest.size( "t" ) )
57
+ end
58
+
59
+ def test_build_multiple
60
+ Mxx_ru::Util.delete_file( "t3" )
61
+
62
+ File.new( "d", "w" ).close
63
+
64
+ g = Mxx_ru::Makestyle_generator.new(
65
+ [ "t1", "t2", "t3" ], [ "d" ],
66
+ [
67
+ "echo t1 > t1",
68
+ "echo t2 > t2"
69
+ ] )
70
+ g.build( "dummy" )
71
+
72
+ assert( FileTest.size( "t1" ) > 0 )
73
+ assert( FileTest.size( "t2" ) > 0 )
74
+ assert( !FileTest.exists?( "t3" ) )
75
+
76
+ File.truncate( "t1", 0 )
77
+ File.truncate( "t2", 0 )
78
+
79
+ g.build( "dummy" )
80
+
81
+ assert( FileTest.size( "t1" ) > 0 )
82
+ assert( FileTest.size( "t2" ) > 0 )
83
+ assert( !FileTest.exists?( "t3" ) )
84
+
85
+ end
86
+
87
+ def test_clean_simple
88
+ File.new( "d", "w" ).close
89
+
90
+ g = Mxx_ru::Makestyle_generator.new(
91
+ [ "t1", "t2", "t3" ], [ "d" ],
92
+ [
93
+ "echo t1 > t1",
94
+ "echo t2 > t2",
95
+ "echo t3 > t3"
96
+ ] )
97
+ g.build( "dummy" )
98
+
99
+ assert( FileTest.size( "t1" ) > 0 )
100
+ assert( FileTest.size( "t2" ) > 0 )
101
+ assert( FileTest.size( "t3" ) > 0 )
102
+
103
+ g.clean( "dummy" )
104
+
105
+ assert( !FileTest.exists?( "t1" ) )
106
+ assert( !FileTest.exists?( "t2" ) )
107
+ assert( !FileTest.exists?( "t3" ) )
108
+ end
109
+
110
+ def teardown
111
+ [ "a", "b", "c", "d", "e",
112
+ "t", "t1", "t2", "t3" ].each do |f|
113
+ Mxx_ru::Util.delete_file( f )
114
+ end
115
+ end
116
+ end
117
+
@@ -1,230 +1,230 @@
1
- require 'test/unit'
2
-
3
- require 'mxx_ru/cpp'
4
- require 'mxx_ru/cpp/toolsets/vc8'
5
-
6
- class TC_ActualManifest < Test::Unit::TestCase
7
- def initialize( test_method_name )
8
- super test_method_name
9
-
10
- # Default manifest should not be used.
11
- Mxx_ru::Cpp::Toolsets::Vc8::manifest nil
12
- end
13
-
14
- def make_exe_target( prj_alias )
15
- Mxx_ru::Cpp::Exe_target.new( prj_alias ) {
16
- target 'sample'
17
- }
18
- end
19
-
20
- def make_dll_target( prj_alias )
21
- Mxx_ru::Cpp::Dll_target.new( prj_alias ) {
22
- target 'sample'
23
- }
24
- end
25
-
26
- def produce_manifest( target, hash )
27
- Mxx_ru::Cpp::Toolsets::Vc8::manifest( hash )
28
- Mxx_ru::Cpp::toolset.setup_mandatory_options( target )
29
-
30
- target.vc8_actual_manifest
31
- end
32
-
33
- def test_target_autogen
34
- target = make_exe_target( 'target_autogen.rb' )
35
-
36
- m = produce_manifest( target,
37
- :target => target,
38
- :autogen => :to_default_file )
39
-
40
- assert_not_nil( m, 'actual manifest expected' )
41
- assert_equal( true, m.autogen? )
42
- assert_equal( false, m.mt? )
43
- assert_equal( './sample.exe.manifest', m.manifest_file )
44
- assert_nil( m.digital_resource_id )
45
- assert_equal( true, m.keep_manifest_file? )
46
- end
47
-
48
- def test_target_autogen_embed
49
- target = make_exe_target( 'target_autogen_embed.rb' )
50
-
51
- m = produce_manifest( target,
52
- :target => target,
53
- :autogen => :to_default_file,
54
- :mt => {} )
55
-
56
- assert_not_nil( m, 'actual manifest expected' )
57
- assert_equal( true, m.autogen? )
58
- assert_equal( true, m.mt? )
59
- assert_equal( './sample.exe.manifest', m.manifest_file )
60
- assert_equal( 1, m.digital_resource_id )
61
- assert_equal( false, m.keep_manifest_file? )
62
- end
63
-
64
- def test_target_autogen_embed_keep_manifest
65
- target = make_exe_target(
66
- 'target_autogen_embed_keep_manifest.rb' )
67
-
68
- m = produce_manifest( target,
69
- :target => target,
70
- :autogen => :to_default_file,
71
- :mt => { :keep_manifest_file => true } )
72
-
73
- assert_not_nil( m, 'actual manifest expected' )
74
- assert_equal( true, m.autogen? )
75
- assert_equal( true, m.mt? )
76
- assert_equal( './sample.exe.manifest', m.manifest_file )
77
- assert_equal( 1, m.digital_resource_id )
78
- assert_equal( true, m.keep_manifest_file? )
79
- end
80
-
81
- def test_dlltarget_autogen_embed
82
- target = make_dll_target( 'dlltarget_autogen_embed.rb' )
83
-
84
- m = produce_manifest( target,
85
- :target => target,
86
- :autogen => :to_default_file,
87
- :mt => {} )
88
-
89
- assert_not_nil( m, 'actual manifest expected' )
90
- assert_equal( true, m.autogen? )
91
- assert_equal( true, m.mt? )
92
- assert_equal( './sample.dll.manifest', m.manifest_file )
93
- assert_equal( 2, m.digital_resource_id )
94
- assert_equal( false, m.keep_manifest_file? )
95
- end
96
-
97
- def test_target_autogen_embed_process_manifest
98
- target = make_exe_target(
99
- 'target_autogen_embed_process_manifest.rb' )
100
-
101
- m = produce_manifest( target,
102
- :target => target,
103
- :autogen => :to_default_file,
104
- :mt => { :resource_id => :process_manifest } )
105
-
106
- assert_not_nil( m )
107
- assert_equal( true, m.autogen? )
108
- assert_equal( true, m.mt? )
109
- assert_equal( './sample.exe.manifest', m.manifest_file )
110
- assert_equal( 1, m.digital_resource_id )
111
- assert_equal( false, m.keep_manifest_file? )
112
- end
113
-
114
- def test_dlltarget_autogen_embed_process_manifest
115
- target = make_dll_target(
116
- 'dlltarget_autogen_embed_process_manifest.rb' )
117
-
118
- m = produce_manifest( target,
119
- :target => target,
120
- :autogen => :to_default_file,
121
- :mt => { :resource_id => :isolationaware_manifest } )
122
-
123
- assert_not_nil( m )
124
- assert_equal( true, m.autogen? )
125
- assert_equal( true, m.mt? )
126
- assert_equal( './sample.dll.manifest', m.manifest_file )
127
- assert_equal( 2, m.digital_resource_id )
128
- assert_equal( false, m.keep_manifest_file? )
129
- end
130
-
131
- def test_target_autogen_file_embed
132
- target = make_exe_target(
133
- 'target_autogen_file_embed.rb' )
134
-
135
- m = produce_manifest( target,
136
- :target => target,
137
- :autogen => 'hello_world.exe.manifest',
138
- :mt => {} )
139
-
140
- assert_not_nil( m )
141
- assert_equal( true, m.autogen? )
142
- assert_equal( true, m.mt? )
143
- assert_equal( 'hello_world.exe.manifest', m.manifest_file )
144
- assert_equal( 1, m.digital_resource_id )
145
- assert_equal( false, m.keep_manifest_file? )
146
- end
147
-
148
- def test_target_embed_file
149
- target = make_exe_target(
150
- 'target_embed_file.rb' )
151
-
152
- m = produce_manifest( target,
153
- :target => target,
154
- :mt => { :manifest => 'hello_world.exe.manifest' } )
155
-
156
- assert_not_nil( m )
157
- assert_equal( false, m.autogen? )
158
- assert_equal( true, m.mt? )
159
- assert_equal( 'hello_world.exe.manifest', m.manifest_file )
160
- assert_equal( 1, m.digital_resource_id )
161
- assert_equal( true, m.keep_manifest_file? )
162
- end
163
-
164
- def test_dlltarget_embed_file
165
- target = make_dll_target(
166
- 'dlltarget_embed_file.rb' )
167
-
168
- m = produce_manifest( target,
169
- :target => target,
170
- :mt => { :manifest => 'hello_world.dll.manifest' } )
171
-
172
- assert_not_nil( m )
173
- assert_equal( false, m.autogen? )
174
- assert_equal( true, m.mt? )
175
- assert_equal( 'hello_world.dll.manifest', m.manifest_file )
176
- assert_equal( 2, m.digital_resource_id )
177
- assert_equal( true, m.keep_manifest_file? )
178
- end
179
-
180
- def test_target_embed_file_isolationaware_nostaticimport
181
- target = make_dll_target(
182
- 'target_embed_file_isolationawate_nostaticimport.rb' )
183
-
184
- m = produce_manifest( target,
185
- :target => target,
186
- :mt => {
187
- :manifest => 'hello_world.dll.manifest',
188
- :resource_id => :isolationaware_nostaticimport_manifest } )
189
-
190
- assert_not_nil( m )
191
- assert_equal( false, m.autogen? )
192
- assert_equal( true, m.mt? )
193
- assert_equal( 'hello_world.dll.manifest', m.manifest_file )
194
- assert_equal( 3, m.digital_resource_id )
195
- assert_equal( true, m.keep_manifest_file? )
196
- end
197
-
198
- def test_autogen
199
- target = make_exe_target(
200
- 'target_autogen.rb' )
201
-
202
- m = produce_manifest( target,
203
- :autogen => :to_default_file )
204
-
205
- assert_not_nil( m )
206
- assert_equal( true, m.autogen? )
207
- assert_equal( false, m.mt? )
208
- assert_equal( './sample.exe.manifest', m.manifest_file )
209
- assert_nil( m.digital_resource_id )
210
- assert_equal( true, m.keep_manifest_file? )
211
- end
212
-
213
- def test_autogen_embed
214
- target = make_exe_target(
215
- 'target_autogen_embed.rb' )
216
-
217
- m = produce_manifest( target,
218
- :autogen => :to_default_file,
219
- :mt => {} )
220
-
221
- assert_not_nil( m )
222
- assert_equal( true, m.autogen? )
223
- assert_equal( true, m.mt? )
224
- assert_equal( './sample.exe.manifest', m.manifest_file )
225
- assert_equal( 1, m.digital_resource_id )
226
- assert_equal( false, m.keep_manifest_file? )
227
- end
228
- end
229
-
230
-
1
+ require 'test/unit'
2
+
3
+ require 'mxx_ru/cpp'
4
+ require 'mxx_ru/cpp/toolsets/vc8'
5
+
6
+ class TC_ActualManifest < Test::Unit::TestCase
7
+ def initialize( test_method_name )
8
+ super test_method_name
9
+
10
+ # Default manifest should not be used.
11
+ Mxx_ru::Cpp::Toolsets::Vc8::manifest nil
12
+ end
13
+
14
+ def make_exe_target( prj_alias )
15
+ Mxx_ru::Cpp::Exe_target.new( prj_alias ) {
16
+ target 'sample'
17
+ }
18
+ end
19
+
20
+ def make_dll_target( prj_alias )
21
+ Mxx_ru::Cpp::Dll_target.new( prj_alias ) {
22
+ target 'sample'
23
+ }
24
+ end
25
+
26
+ def produce_manifest( target, hash )
27
+ Mxx_ru::Cpp::Toolsets::Vc8::manifest( hash )
28
+ Mxx_ru::Cpp::toolset.setup_mandatory_options( target )
29
+
30
+ target.vc8_actual_manifest
31
+ end
32
+
33
+ def test_target_autogen
34
+ target = make_exe_target( 'target_autogen.rb' )
35
+
36
+ m = produce_manifest( target,
37
+ :target => target,
38
+ :autogen => :to_default_file )
39
+
40
+ assert_not_nil( m, 'actual manifest expected' )
41
+ assert_equal( true, m.autogen? )
42
+ assert_equal( false, m.mt? )
43
+ assert_equal( './sample.exe.manifest', m.manifest_file )
44
+ assert_nil( m.digital_resource_id )
45
+ assert_equal( true, m.keep_manifest_file? )
46
+ end
47
+
48
+ def test_target_autogen_embed
49
+ target = make_exe_target( 'target_autogen_embed.rb' )
50
+
51
+ m = produce_manifest( target,
52
+ :target => target,
53
+ :autogen => :to_default_file,
54
+ :mt => {} )
55
+
56
+ assert_not_nil( m, 'actual manifest expected' )
57
+ assert_equal( true, m.autogen? )
58
+ assert_equal( true, m.mt? )
59
+ assert_equal( './sample.exe.manifest', m.manifest_file )
60
+ assert_equal( 1, m.digital_resource_id )
61
+ assert_equal( false, m.keep_manifest_file? )
62
+ end
63
+
64
+ def test_target_autogen_embed_keep_manifest
65
+ target = make_exe_target(
66
+ 'target_autogen_embed_keep_manifest.rb' )
67
+
68
+ m = produce_manifest( target,
69
+ :target => target,
70
+ :autogen => :to_default_file,
71
+ :mt => { :keep_manifest_file => true } )
72
+
73
+ assert_not_nil( m, 'actual manifest expected' )
74
+ assert_equal( true, m.autogen? )
75
+ assert_equal( true, m.mt? )
76
+ assert_equal( './sample.exe.manifest', m.manifest_file )
77
+ assert_equal( 1, m.digital_resource_id )
78
+ assert_equal( true, m.keep_manifest_file? )
79
+ end
80
+
81
+ def test_dlltarget_autogen_embed
82
+ target = make_dll_target( 'dlltarget_autogen_embed.rb' )
83
+
84
+ m = produce_manifest( target,
85
+ :target => target,
86
+ :autogen => :to_default_file,
87
+ :mt => {} )
88
+
89
+ assert_not_nil( m, 'actual manifest expected' )
90
+ assert_equal( true, m.autogen? )
91
+ assert_equal( true, m.mt? )
92
+ assert_equal( './sample.dll.manifest', m.manifest_file )
93
+ assert_equal( 2, m.digital_resource_id )
94
+ assert_equal( false, m.keep_manifest_file? )
95
+ end
96
+
97
+ def test_target_autogen_embed_process_manifest
98
+ target = make_exe_target(
99
+ 'target_autogen_embed_process_manifest.rb' )
100
+
101
+ m = produce_manifest( target,
102
+ :target => target,
103
+ :autogen => :to_default_file,
104
+ :mt => { :resource_id => :process_manifest } )
105
+
106
+ assert_not_nil( m )
107
+ assert_equal( true, m.autogen? )
108
+ assert_equal( true, m.mt? )
109
+ assert_equal( './sample.exe.manifest', m.manifest_file )
110
+ assert_equal( 1, m.digital_resource_id )
111
+ assert_equal( false, m.keep_manifest_file? )
112
+ end
113
+
114
+ def test_dlltarget_autogen_embed_process_manifest
115
+ target = make_dll_target(
116
+ 'dlltarget_autogen_embed_process_manifest.rb' )
117
+
118
+ m = produce_manifest( target,
119
+ :target => target,
120
+ :autogen => :to_default_file,
121
+ :mt => { :resource_id => :isolationaware_manifest } )
122
+
123
+ assert_not_nil( m )
124
+ assert_equal( true, m.autogen? )
125
+ assert_equal( true, m.mt? )
126
+ assert_equal( './sample.dll.manifest', m.manifest_file )
127
+ assert_equal( 2, m.digital_resource_id )
128
+ assert_equal( false, m.keep_manifest_file? )
129
+ end
130
+
131
+ def test_target_autogen_file_embed
132
+ target = make_exe_target(
133
+ 'target_autogen_file_embed.rb' )
134
+
135
+ m = produce_manifest( target,
136
+ :target => target,
137
+ :autogen => 'hello_world.exe.manifest',
138
+ :mt => {} )
139
+
140
+ assert_not_nil( m )
141
+ assert_equal( true, m.autogen? )
142
+ assert_equal( true, m.mt? )
143
+ assert_equal( 'hello_world.exe.manifest', m.manifest_file )
144
+ assert_equal( 1, m.digital_resource_id )
145
+ assert_equal( false, m.keep_manifest_file? )
146
+ end
147
+
148
+ def test_target_embed_file
149
+ target = make_exe_target(
150
+ 'target_embed_file.rb' )
151
+
152
+ m = produce_manifest( target,
153
+ :target => target,
154
+ :mt => { :manifest => 'hello_world.exe.manifest' } )
155
+
156
+ assert_not_nil( m )
157
+ assert_equal( false, m.autogen? )
158
+ assert_equal( true, m.mt? )
159
+ assert_equal( 'hello_world.exe.manifest', m.manifest_file )
160
+ assert_equal( 1, m.digital_resource_id )
161
+ assert_equal( true, m.keep_manifest_file? )
162
+ end
163
+
164
+ def test_dlltarget_embed_file
165
+ target = make_dll_target(
166
+ 'dlltarget_embed_file.rb' )
167
+
168
+ m = produce_manifest( target,
169
+ :target => target,
170
+ :mt => { :manifest => 'hello_world.dll.manifest' } )
171
+
172
+ assert_not_nil( m )
173
+ assert_equal( false, m.autogen? )
174
+ assert_equal( true, m.mt? )
175
+ assert_equal( 'hello_world.dll.manifest', m.manifest_file )
176
+ assert_equal( 2, m.digital_resource_id )
177
+ assert_equal( true, m.keep_manifest_file? )
178
+ end
179
+
180
+ def test_target_embed_file_isolationaware_nostaticimport
181
+ target = make_dll_target(
182
+ 'target_embed_file_isolationawate_nostaticimport.rb' )
183
+
184
+ m = produce_manifest( target,
185
+ :target => target,
186
+ :mt => {
187
+ :manifest => 'hello_world.dll.manifest',
188
+ :resource_id => :isolationaware_nostaticimport_manifest } )
189
+
190
+ assert_not_nil( m )
191
+ assert_equal( false, m.autogen? )
192
+ assert_equal( true, m.mt? )
193
+ assert_equal( 'hello_world.dll.manifest', m.manifest_file )
194
+ assert_equal( 3, m.digital_resource_id )
195
+ assert_equal( true, m.keep_manifest_file? )
196
+ end
197
+
198
+ def test_autogen
199
+ target = make_exe_target(
200
+ 'target_autogen.rb' )
201
+
202
+ m = produce_manifest( target,
203
+ :autogen => :to_default_file )
204
+
205
+ assert_not_nil( m )
206
+ assert_equal( true, m.autogen? )
207
+ assert_equal( false, m.mt? )
208
+ assert_equal( './sample.exe.manifest', m.manifest_file )
209
+ assert_nil( m.digital_resource_id )
210
+ assert_equal( true, m.keep_manifest_file? )
211
+ end
212
+
213
+ def test_autogen_embed
214
+ target = make_exe_target(
215
+ 'target_autogen_embed.rb' )
216
+
217
+ m = produce_manifest( target,
218
+ :autogen => :to_default_file,
219
+ :mt => {} )
220
+
221
+ assert_not_nil( m )
222
+ assert_equal( true, m.autogen? )
223
+ assert_equal( true, m.mt? )
224
+ assert_equal( './sample.exe.manifest', m.manifest_file )
225
+ assert_equal( 1, m.digital_resource_id )
226
+ assert_equal( false, m.keep_manifest_file? )
227
+ end
228
+ end
229
+
230
+