merged cont.
[opensuse:yast-rest-service.git] / webservice / lib / tasks / plugin_test / test_helper.rb
1 #--
2 # Webyast Webservice framework
3 #
4 # Copyright (C) 2009, 2010 Novell, Inc. 
5 #   This library is free software; you can redistribute it and/or modify
6 # it only under the terms of version 2.1 of the GNU Lesser General Public
7 # License as published by the Free Software Foundation. 
8 #
9 #   This library is distributed in the hope that it will be useful, but WITHOUT
10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11 # FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 
12 # details. 
13 #
14 #   You should have received a copy of the GNU Lesser General Public
15 # License along with this library; if not, write to the Free Software 
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 #++
18
19 rails_parent = ENV["RAILS_PARENT"]
20 unless rails_parent
21   if File.directory?("../../webservice/")
22      $stderr.puts "Taking ../../webservice/ for RAILS_PARENT"  
23      rails_parent="../../webservice/"
24   else
25      $stderr.puts "Please set RAILS_PARENT environment"
26      exit
27   end
28 end
29
30 require File.expand_path(rails_parent + "/test/test_helper")
31 require 'fileutils'
32 require 'getoptlong'
33 require 'test/unit'
34
35 options = GetoptLong.new(
36   [ "--plugin",   GetoptLong::REQUIRED_ARGUMENT ]
37 )
38
39 $pluginname = nil
40 begin
41 options.each do |opt, arg|
42   case opt
43     when "--plugin": $pluginname = arg
44     else
45         STDERR.puts "Ignoring unrecognized option #{opt}"
46   end
47 end
48 rescue
49 end
50
51 class Module
52   def recursive_const_get(name)
53     name.to_s.split("::").inject(self) do |b, c|
54       b.const_get(c)
55     end
56   end
57 end