summaryrefslogtreecommitdiff
path: root/test/mkmf/test_install.rb
blob: 7f8c603d42ce97ac0de0aa78056292a01fcdbb00 (plain)
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
# frozen_string_literal: false
require_relative 'base'

class TestMkmf
  class TestInstall < TestMkmf
    def test_install_dirs
      Dir.mktmpdir do |dir|
        File.write(dir+"/extconf.rb", "require 'mkmf'; create_makefile('test')")
        all_assertions do |a|
          a.foreach(
            ["site"],
            ["vendor", "--vendor"],
          ) do |dest, *options|
            assert_ruby_status(["-C", dir, "extconf.rb", *options])
            mf = File.read(dir+"/Makefile")
            a.foreach(
              ["RUBYCOMMONDIR", "$(#{dest}dir)$(target_prefix)"],
              ["RUBYLIBDIR",    "$(#{dest}libdir)$(target_prefix)"],
              ["RUBYARCHDIR",   "$(#{dest}archdir)$(target_prefix)"],
              ["HDRDIR",        "$(#{dest}hdrdir)$(target_prefix)"],
              ["ARCHHDRDIR",    "$(#{dest}archhdrdir)$(target_prefix)"],
            ) do |(var, path)|
              assert_equal path, mf[/^#{var}\s*=\s*(.*)$/, 1]
            end
          end
        end
      end
    end
  end
end