setup 4.2.0 → 5.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. data/HISTORY +47 -3
  2. data/MANIFEST +49 -16
  3. data/README.rdoc +148 -0
  4. data/bin/setup.rb +1 -5
  5. data/lib/setup.rb +2 -2
  6. data/lib/setup/base.rb +143 -0
  7. data/lib/setup/command.rb +218 -114
  8. data/lib/setup/compiler.rb +69 -0
  9. data/lib/setup/configuration.rb +822 -0
  10. data/lib/setup/constants.rb +12 -0
  11. data/lib/setup/{rubyver.rb → core_ext.rb} +0 -0
  12. data/lib/setup/documentor.rb +149 -0
  13. data/lib/setup/installer.rb +363 -0
  14. data/lib/setup/project.rb +68 -0
  15. data/lib/setup/rake.rb +44 -45
  16. data/lib/setup/session.rb +233 -0
  17. data/lib/setup/tester.rb +92 -0
  18. data/lib/setup/uninstaller.rb +76 -0
  19. data/meta/active +1 -0
  20. data/meta/collection +1 -0
  21. data/meta/{abstract → description} +0 -0
  22. data/meta/{package → name} +0 -0
  23. data/meta/repository +1 -0
  24. data/meta/ruby +3 -0
  25. data/meta/version +1 -1
  26. data/script/bstrap +5 -0
  27. data/script/bundle +64 -0
  28. data/script/setup +1338 -0
  29. data/script/test +3 -0
  30. data/test/cases/installer.rb +28 -0
  31. data/test/features/config.feature +16 -0
  32. data/test/features/document.feature +2 -0
  33. data/test/features/install.feature +72 -0
  34. data/test/features/make.feature +18 -0
  35. data/test/features/step_definitions/common_steps.rb +34 -0
  36. data/test/features/step_definitions/config_steps.rb +24 -0
  37. data/test/features/step_definitions/env.rb +37 -0
  38. data/test/features/step_definitions/install_steps.rb +75 -0
  39. data/test/features/step_definitions/setup_steps.rb +30 -0
  40. data/test/features/step_definitions/uninstall_steps.rb +8 -0
  41. data/test/features/test.feature +2 -0
  42. data/test/features/uninstall.feature +13 -0
  43. data/test/fixtures/faux-project/bin/faux +3 -0
  44. data/test/fixtures/faux-project/ext/faux/extconf.rb +12 -0
  45. data/test/fixtures/faux-project/ext/faux/faux.c +24 -0
  46. data/test/fixtures/faux-project/lib/faux.rb +1 -0
  47. metadata +58 -29
  48. data/README +0 -106
  49. data/RELEASE +0 -41
  50. data/lib/setup/build.rb +0 -2
  51. data/lib/setup/config.rb +0 -452
  52. data/lib/setup/error.rb +0 -4
  53. data/lib/setup/install.rb +0 -1007
  54. data/meta/setup/metaconfig.rb +0 -3
  55. data/test/test_installer.rb +0 -139
@@ -1,3 +0,0 @@
1
- # This is simply here to test metaconfig loading.
2
-
3
- add_config('dummyvar', nil, 'ignore this options')
@@ -1,139 +0,0 @@
1
- # This isn't begin used presently. The only tests were for sheband lines
2
- # and these are not being made in the current version.
3
-
4
- require 'setup'
5
- require 'fileutils'
6
- require 'stringio'
7
- require 'test/unit'
8
-
9
- class DummyConfig
10
- def initialize(config)
11
- @config = config
12
- end
13
-
14
- def [](key)
15
- @config[key]
16
- end
17
-
18
- def no_harm?
19
- false
20
- end
21
-
22
- def verbose?
23
- false
24
- end
25
- end
26
-
27
- class TestInstaller #< Test::Unit::TestCase
28
-
29
- include FileUtils
30
-
31
- def setup
32
- rm_rf %w(srcdir objdir)
33
- mkdir %w(srcdir objdir)
34
- Dir.chdir 'objdir'
35
- $stderr, $orig_stderr = StringIO.new, $stderr
36
- end
37
-
38
- def teardown
39
- $stderr = $orig_stderr
40
- Dir.chdir '..'
41
- rm_rf %w(srcdir objdir)
42
- end
43
-
44
- def setup_installer(config = {})
45
- @installer = Installer.new(DummyConfig.new(config), '../srcdir', '.')
46
- end
47
-
48
- def do_update_shebang_line(id, str)
49
- create id, str
50
- @installer.update_shebang_line "../srcdir/#{id}"
51
- read(id)
52
- end
53
-
54
- def create(filename, content)
55
- File.open("../srcdir/#{filename}", 'wb') {|f|
56
- f.write content
57
- }
58
- end
59
-
60
- def read(filename)
61
- path = File.exist?(filename) ? filename : "../srcdir/#{filename}"
62
- File.open(path, 'rb') {|f|
63
- return f.read
64
- }
65
- end
66
-
67
- def test_update_shebang_line__never
68
- setup_installer 'shebang' => 'never', 'rubypath' => 'ERROR'
69
- assert_equal "#!/usr/local/bin/ruby\nprogram",
70
- do_update_shebang_line('ruby', "#!/usr/local/bin/ruby\nprogram")
71
- assert_equal "#! /usr/local/bin/ruby\nprogram",
72
- do_update_shebang_line('ruby-sp', "#! /usr/local/bin/ruby\nprogram")
73
- assert_equal "#!/usr/local/bin/ruby -Ke\nprogram",
74
- do_update_shebang_line('ruby-arg', "#!/usr/local/bin/ruby -Ke\nprogram")
75
- assert_equal "#!/usr/bin/ruby -n -p\nprogram",
76
- do_update_shebang_line('ruby-args', "#!/usr/bin/ruby -n -p\nprogram")
77
- assert_equal "#!/usr/bin/env ruby\nprogram",
78
- do_update_shebang_line('env-ruby', "#!/usr/bin/env ruby\nprogram")
79
- assert_equal "#!/usr/bin/env perl\nprogram",
80
- do_update_shebang_line('env-noruby', "#!/usr/bin/env perl\nprogram")
81
- assert_equal "#!/bin/sh\nprogram",
82
- do_update_shebang_line('interp', "#!/bin/sh\nprogram")
83
- assert_equal "#!/bin/sh -l -r -\nprogram",
84
- do_update_shebang_line('interp-args', "#!/bin/sh -l -r -\nprogram")
85
- assert_equal "program",
86
- do_update_shebang_line('bare', "program")
87
- assert_equal "\001\002\003\n\004\005\006",
88
- do_update_shebang_line('binary', "\001\002\003\n\004\005\006")
89
- end
90
-
91
- def test_update_shebang_line__all
92
- setup_installer 'shebang' => 'all', 'rubypath' => 'RUBYPATH'
93
- assert_equal "#! RUBYPATH\nprogram",
94
- do_update_shebang_line('ruby', "#!/usr/local/bin/ruby\nprogram")
95
- assert_equal "#! RUBYPATH\nprogram",
96
- do_update_shebang_line('ruby-sp', "#! /usr/local/bin/ruby\nprogram")
97
- assert_equal "#! RUBYPATH -Ke\nprogram",
98
- do_update_shebang_line('ruby-arg', "#!/usr/local/bin/ruby -Ke\nprogram")
99
- assert_equal "#! RUBYPATH -n -p\nprogram",
100
- do_update_shebang_line('ruby-args', "#!/usr/bin/ruby -n -p\nprogram")
101
- assert_equal "#! RUBYPATH\nprogram",
102
- do_update_shebang_line('env-ruby', "#!/usr/bin/env ruby\nprogram")
103
- assert_equal "#! RUBYPATH\nprogram",
104
- do_update_shebang_line('env-noruby', "#!/usr/bin/env perl\nprogram")
105
- assert_equal "#! RUBYPATH\nprogram",
106
- do_update_shebang_line('interp', "#!/bin/sh\nprogram")
107
- assert_equal "#! RUBYPATH\nprogram", # args removed
108
- do_update_shebang_line('interp-args', "#!/bin/sh -l -r -\nprogram")
109
- assert_equal "#! RUBYPATH\nprogram",
110
- do_update_shebang_line('bare', "program")
111
- assert_equal "#! RUBYPATH\n\001\002\003\n\004\005\006",
112
- do_update_shebang_line('binary', "\001\002\003\n\004\005\006")
113
- end
114
-
115
- def test_update_shebang_line__ruby
116
- setup_installer 'shebang' => 'ruby', 'rubypath' => 'RUBYPATH'
117
- assert_equal "#! RUBYPATH\nprogram",
118
- do_update_shebang_line('ruby', "#!/usr/local/bin/ruby\nprogram")
119
- assert_equal "#! RUBYPATH\nprogram",
120
- do_update_shebang_line('ruby-sp', "#! /usr/local/bin/ruby\nprogram")
121
- assert_equal "#! RUBYPATH -Ke\nprogram",
122
- do_update_shebang_line('ruby-arg', "#!/usr/local/bin/ruby -Ke\nprogram")
123
- assert_equal "#! RUBYPATH -n -p\nprogram",
124
- do_update_shebang_line('ruby-args', "#!/usr/bin/ruby -n -p\nprogram")
125
- assert_equal "#! RUBYPATH\nprogram",
126
- do_update_shebang_line('env-ruby', "#!/usr/bin/env ruby\nprogram")
127
- assert_equal "#!/usr/bin/env perl\nprogram",
128
- do_update_shebang_line('env-noruby', "#!/usr/bin/env perl\nprogram")
129
- assert_equal "#!/bin/sh\nprogram",
130
- do_update_shebang_line('interp', "#!/bin/sh\nprogram")
131
- assert_equal "#!/bin/sh -l -r -\nprogram",
132
- do_update_shebang_line('interp-args', "#!/bin/sh -l -r -\nprogram")
133
- assert_equal "program",
134
- do_update_shebang_line('bare', "program")
135
- assert_equal "\001\002\003\n\004\005\006",
136
- do_update_shebang_line('binary', "\001\002\003\n\004\005\006")
137
- end
138
-
139
- end