[前][次][番号順一覧][スレッド一覧]

ruby-changes:26146

From: nobu <ko1@a...>
Date: Wed, 5 Dec 2012 12:59:52 +0900 (JST)
Subject: [ruby-changes:26146] nobu:r38203 (trunk): * test/mkmf/test_have_library.rb: tests for have_library.

nobu	2012-12-05 12:59:39 +0900 (Wed, 05 Dec 2012)

  New Revision: 38203

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=38203

  Log:
    * test/mkmf/test_have_library.rb: tests for have_library.

  Added files:
    trunk/test/mkmf/test_have_library.rb

Index: test/mkmf/test_have_library.rb
===================================================================
--- test/mkmf/test_have_library.rb	(revision 0)
+++ test/mkmf/test_have_library.rb	(revision 38203)
@@ -0,0 +1,45 @@
+require_relative 'base'
+require 'tempfile'
+
+class TestMkmf
+  class TestHaveLibrary < TestMkmf
+    LIBRARY_NAME = 'mkmftest'
+    HEADER_NAME = "#{LIBRARY_NAME}.h"
+    FUNC_NAME = 'ruby_mkmftest_foo'
+    ARPREFIX = config_string('LIBRUBY_A') {|lib| lib[/\A\w+/]}
+
+    def create_library(libname = LIBRARY_NAME)
+      lib = "#{ARPREFIX}#{libname}.#{$LIBEXT}"
+      open(HEADER_NAME, "w") do |hdr|
+        hdr.puts "void #{FUNC_NAME}(void);"
+        hdr.puts "void #{FUNC_NAME}_fake(void);"
+      end
+      create_tmpsrc("#include \"#{HEADER_NAME}\"\n""void #{FUNC_NAME}(void) {}")
+      xsystem(cc_command)
+      xsystem("#{CONFIG['AR']} #{config_string('ARFLAGS') || 'cru '}#{lib} conftest.#{$OBJEXT}")
+      File.unlink("conftest.#{$OBJEXT}")
+      config_string('RANLIB') do |ranlib|
+        xsystem("#{ranlib} #{lib}")
+      end
+    end
+
+    def test_have_library
+      create_library
+      assert_equal(true, have_library(LIBRARY_NAME), MKMFLOG)
+    end
+
+    def test_have_library_with_name
+      create_library
+      assert_equal(true, have_library(LIBRARY_NAME, FUNC_NAME, HEADER_NAME), MKMFLOG)
+    end
+
+    def test_no_have_library
+      assert_equal(false, have_library(LIBRARY_NAME), MKMFLOG)
+    end
+
+    def test_no_have_library_with_name
+      create_library
+      assert_equal(false, have_library(LIBRARY_NAME, "#{FUNC_NAME}_fake", HEADER_NAME), MKMFLOG)
+    end
+  end
+end

Property changes on: test/mkmf/test_have_library.rb
___________________________________________________________________
Added: svn:eol-style
   + LF


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]