From: donghee yang Date: Wed, 24 Oct 2012 06:51:10 +0000 (+0900) Subject: [Title] Changed DB access method for remote-build/pkg servers X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5bfbc6e93d9fe4e386d7ffc4e828786c045032d5;p=sdk%2Ftools%2Fsdk-build.git [Title] Changed DB access method for remote-build/pkg servers --- diff --git a/src/build_server/BuildServer.rb b/src/build_server/BuildServer.rb index 7d0ee19..a230ca6 100644 --- a/src/build_server/BuildServer.rb +++ b/src/build_server/BuildServer.rb @@ -40,7 +40,8 @@ require "ProjectManager.rb" require "DistributionManager.rb" class BuildServer - attr_accessor :id, :path, :port, :status, :friend_servers, :host_os, :log + attr_accessor :id, :path, :port, :status, :host_os, :log + attr_accessor :remote_servers attr_accessor :git_server_url, :git_bin_path attr_accessor :job_log_url attr_accessor :allowed_git_branch @@ -59,11 +60,10 @@ class BuildServer attr_accessor :prjmgr, :distmgr attr_accessor :transport_path attr_accessor :cancel_lock - attr_accessor :supported_os_list attr_accessor :upgrade - attr_accessor :remote_pkg_servers attr_accessor :pkg_sync_period attr_accessor :changelog_check + attr_accessor :db attr_accessor :db_dsn, :db_user, :db_passwd CONFIG_ROOT = "#{Utils::HOME}/.build_tools/build_server" HOST_OS = Utils::HOST_OS @@ -72,8 +72,7 @@ class BuildServer def initialize (id, path, ftpsvr_addr, ftpsvr_port, ftpsvr_username, ftpsvr_passwd) @id = id @path = path - @friend_servers = [] - @remote_pkg_servers = [] + @remote_servers = [] @req_listener = [] @finish = false # port number @@ -106,13 +105,13 @@ class BuildServer # @transport_path = "#{@path}/transport" @cancel_lock = Mutex.new - @supported_os_list = [] @pkg_sync_period=600 @upgrade = false @changelog_check = false #DB settring + @db = nil @db_dsn = "SQLite3:#{BuildServer::CONFIG_ROOT}/#{@id}/server.db" @db_user = nil @db_passwd = nil @@ -150,11 +149,9 @@ class BuildServer @cleaner.start # set package server synchrontizer - if not @remote_pkg_servers.empty? then - @log.info "Setting Package Server Synchronizer..." - @pkg_sync = PackageServerSynchronizer.new(self) - @pkg_sync.start - end + @log.info "Setting Package Server Synchronizer..." + @pkg_sync = PackageServerSynchronizer.new(self) + @pkg_sync.start # main loop @log.info "Entering main loop..." @@ -163,7 +160,8 @@ class BuildServer while( not @finish ) # update friend server status - @friend_servers.each do |server| + @remote_servers = get_remote_servers() + @remote_servers.each do |server| # update state server.update_state end @@ -216,19 +214,50 @@ class BuildServer end + def get_remote_servers() + result = [] + begin + db = get_db_connection() + rows = db.select_all("SELECT * FROM remote_build_servers") + rows.each do |row| + svr_ip,svr_port=row['svr_addr'].strip.split(":") + result.push RemoteBuildServer.new( svr_ip, svr_port, self ) + end + + rescue DBI::DatabaseError => e + @log.error "DB failed!" + @log.error e.errstr + @log.error e.backtrace.inspect + return [] + end + + return result + end + + # add new remote friend server def add_remote_server( ip, port ) - # if already exit, return false - @friend_servers.each do |svr| - if svr.ip.eql? ip and svr.port == port then - return false + saddr="#{ip}:#{port}" + begin + db = get_db_connection() + db['AutoCommit'] = false + db.transaction do |dbh| + row = dbh.select_one("SELECT * FROM remote_build_servers WHERE svr_addr='#{saddr}'") + if not row.nil? then + db['AutoCommit'] = true + return false + end + dbh.do "INSERT INTO remote_build_servers (svr_addr) VALUES ('#{saddr}')" end - end + db['AutoCommit'] = true - # create new one, and add it into list - new_server = RemoteBuildServer.new( ip, port, self ) - @friend_servers.push new_server + rescue DBI::DatabaseError => e + @log.error "DB failed!" + @log.error e.errstr + @log.error e.backtrace.inspect + return false + end return true end @@ -236,29 +265,73 @@ class BuildServer # remove remote friend server def remove_remote_server( ip, port ) - @friend_servers.each do |svr| - if svr.ip.eql? ip and svr.port == port then - @friend_servers.delete svr - return true + saddr="#{ip}:#{port}" + begin + db = get_db_connection() + db['AutoCommit'] = false + db.transaction do |dbh| + row = dbh.select_one("SELECT * FROM remote_build_servers WHERE svr_addr='#{svr_addr}'") + if row.nil? then + db['AutoCommit'] = true + return false + end + dbh.do("DELETE FROM remote_build_servers WHERE svr_addr='#{svr_addr}'") end + db['AutoCommit'] = true + + rescue DBI::DatabaseError => e + @log.error "DB failed!" + @log.error e.errstr + @log.error e.backtrace.inspect + + return false end - # if not exist, return false - return false + return true + end + + + def get_sync_package_servers() + result = [] + begin + db = get_db_connection() + rows = db.select_all("SELECT * FROM sync_pkg_servers") + rows.each do |row| + result.push [row['pkgsvr_url'], row['dist_name']] + end + + rescue DBI::DatabaseError => e + @log.error "DB failed!" + @log.error e.errstr + @log.error e.backtrace.inspect + return [] + end + + return result end # add new remote pkg server def add_sync_package_server( url, dist ) - - # if already exit, return false - @remote_pkg_servers.each do |e| - if e[0] == url and e[1] == dist then - return false + begin + db = get_db_connection() + db['AutoCommit'] = false + db.transaction do |dbh| + row = dbh.select_one("SELECT * FROM sync_pkg_servers WHERE pkgsvr_url='#{url}' and dist_name='#{dist}'") + if not row.nil? then + db['AutoCommit'] = true + return false + end + db.do "INSERT INTO sync_pkg_servers (pkgsvr_url,period,dist_name) VALUES('#{url}','#{@pkg_sync_period}','#{dist}')" end - end + db['AutoCommit'] = true - @remote_pkg_servers.push [url, dist] + rescue DBI::DatabaseError => e + @log.error "DB failed!" + @log.error e.errstr + @log.error e.backtrace.inspect + return false + end return true end @@ -266,48 +339,106 @@ class BuildServer # remove remote pkg server def remove_sync_package_server( url, dist ) + begin + db = get_db_connection() + db['AutoCommit'] = false + db.transaction do |dbh| + row = dbh.select_one("SELECT * FROM sync_pkg_servers WHERE pkgsvr_url='#{url}' and dist_name='#{dist}'") + if row.nil? then + db['AutoCommit'] = true + return false + end + dbh.do("DELETE FROM sync_pkg_servers WHERE pkgsvr_url='#{url}' and dist_name='#{dist}'") + end + db['AutoCommit'] = true - # if already exit, return false - @remote_pkg_servers.each do |e| - if e[0] == url and e[1] == dist then - @remote_pkg_servers.delete e - return true + rescue DBI::DatabaseError => e + @log.error "DB failed!" + @log.error e.errstr + @log.error e.backtrace.inspect + + return false + end + + return true + end + + + def supported_os_list + result = [] + begin + db = get_db_connection() + rows = db.select_all("SELECT * FROM supported_os") + rows.each do |row| + result.push row['name'] end + + rescue DBI::DatabaseError => e + @log.error "DB failed!" + @log.error e.errstr + @log.error e.backtrace.inspect + return [] end - return false + return result end # add new target OS. # If already exist, return false , otherwise true - def add_target_os( os_name ) - - # if already exit, return false - @supported_os_list.each do |os| - if os.eql? os_name then - return false + def add_supported_os( os_name ) + begin + db = get_db_connection() + db['AutoCommit'] = false + db.transaction do |dbh| + row = dbh.select_one("SELECT * FROM supported_os WHERE name='#{os_name}'") + if not row.nil? then + db['AutoCommit'] = true + return false + end + dbh.do "INSERT OR REPLACE INTO supported_os VALUES ('#{os_name}')" end - end + db['AutoCommit'] = true - # add it into list - @supported_os_list.push os_name + rescue DBI::DatabaseError => e + @log.error "DB failed!" + @log.error e.errstr + @log.error e.backtrace.inspect + return false + end return true + end # remove target OS. - def remove_target_os( os_name ) - @supported_os_list.each do |os| - if os.eql? os_name then - @supported_os_list.delete os - return true + def remove_supported_os( os_name ) + begin + db = get_db_connection() + db['AutoCommit'] = false + db.transaction do |dbh| + row = dbh.select_one("SELECT * FROM supported_os WHERE name='#{os_name}'") + if row.nil? then + db['AutoCommit'] = true + return false + end + dbh.do("DELETE FROM supported_os WHERE name='#{os_name}'") end + db['AutoCommit'] = true + + rescue DBI::DatabaseError => e + @log.error "DB failed!" + @log.error e.errstr + @log.error e.backtrace.inspect + + return false end - return false + return true end + + # get remote server def get_available_server ( job ) candidates = [] @@ -323,7 +454,7 @@ class BuildServer # get availables server # but, job must not be "REGISTER" and "MULTIBUILD" job if job.type != "REGISTER" and job.type != "MULTIBUILD" then - @friend_servers.each do |server| + @remote_servers.each do |server| if ( server.status == "RUNNING" and server.can_build?( job ) and not server.has_waiting_jobs and server.get_file_transfer_cnt() == 0 and @@ -365,7 +496,7 @@ class BuildServer if can_build? job then return true end #if not found, check friends - @friend_servers.each do |server| + @remote_servers.each do |server| if server.status == "RUNNING" and job.can_be_built_on? server.host_os then return true @@ -428,6 +559,7 @@ class BuildServer rescue DBI::DatabaseError => e puts "DB Creation failed!" puts e.errstr + @log.error e.backtrace.inspect result = false ensure db.disconnect if db @@ -436,90 +568,23 @@ class BuildServer end - # save - def save_db() - - result = true - - begin - # open DB - db = DBI.connect("DBI:#{@db_dsn}", @db_user ,@db_passwd) - - # remote_build_servers - db.do "DELETE FROM remote_build_servers" - @friend_servers.each do |svr| - db.do "INSERT INTO remote_build_servers (svr_addr) VALUES('#{svr.ip}:#{svr.port}')" - end - - # sync_pkg_servers - db.do "DELETE FROM sync_pkg_servers" - @remote_pkg_servers.each do |svr| - db.do "INSERT INTO sync_pkg_servers (pkgsvr_url,period,dist_name) VALUES('#{svr[0]}','#{@pkg_sync_period}','#{svr[1]}')" - end - - # supported_os - db.do "DELETE FROM supported_os" - @supported_os_list.each do |os| - db.do "INSERT INTO supported_os VALUES('#{os}')" - end - - rescue DBI::DatabaseError => e - puts "DB update failed!" - puts e.errstr - result = false - ensure - db.disconnect if db - end - - return result - end - - - # load - def load_db() - - result = true + def get_db_connection() + if not @db.nil? and @db.connected? then return @db end begin - # open DB db = DBI.connect("DBI:#{@db_dsn}", @db_user, @db_passwd) - #db.results_as_hash = true - - # remote_build_servers - @friend_servers = [] - sth = db.execute "SELECT * FROM remote_build_servers" - sth.fetch_hash do |row| - add_remote_server( - row['svr_addr'].split(":")[0], - row['svr_addr'].split(":")[1].to_i) - end - sth.finish - # sync_package_servers - @remote_pkg_servers = [] - sth = db.execute "SELECT * FROM sync_pkg_servers" - sth.fetch_hash do |row| - add_sync_package_server( row['pkgsvr_url'], row['dist_name'] ) - @pkg_sync_period = row['period'].to_i - end - sth.finish - # supported_os - @supported_os_list = [] - sth = db.execute "SELECT * FROM supported_os" - sth.fetch_hash do |row| - add_target_os( row['name'] ) - end - sth.finish rescue DBI::DatabaseError => e - puts "DB loading failed!" - puts e.errstr - result = false - ensure - sth.finish if not sth.finished? + @log.error "DB loading failed!" + @log.error e.errstr + @log.error e.backtrace.inspect db.disconnect if db + + return nil end - return result - end + return db + end + end diff --git a/src/build_server/BuildServerController.rb b/src/build_server/BuildServerController.rb index 6fd6e70..c3c7675 100644 --- a/src/build_server/BuildServerController.rb +++ b/src/build_server/BuildServerController.rb @@ -259,13 +259,8 @@ class BuildServerController # add if server.add_remote_server( ip, port ) then - if server.save_db() then - puts "Friend server is added successfully!" - return true - else - puts "Add friend server to DB is failed!" - return false - end + puts "Friend server is added successfully!" + return true else puts "Friend server already exists in list!" return false @@ -279,13 +274,8 @@ class BuildServerController # add if server.remove_remote_server( ip, port ) then - if server.save_db() then - puts "Friend server is removed successfully!" - return true - else - puts "Remove friend server from DB is failed!" - return false - end + puts "Friend server is removed successfully!" + return true else puts "Friend server does not exist in list!" return false @@ -295,24 +285,13 @@ class BuildServerController # add supported target os def self.add_target_os( id, os_name ) - # TODO:check os foramt - if os_name == "default" then - puts "Cannot use \"default\" as target OS name!" - return false - end - # get server server = get_server(id) # add - if server.add_target_os( os_name ) then - if server.save_db() then - puts "Target OS is added successfully!" - return true - else - puts "Add target OS to DB is failed!" - return false - end + if server.add_supported_os( os_name ) then + puts "Target OS is added successfully!" + return true else puts "Target OS already exists in list!" return false @@ -326,18 +305,15 @@ class BuildServerController server = get_server(id) # add - if server.remove_target_os( os_name ) then - if server.save_db() then - puts "Target OS is removed successfully!" - return true - else - puts "Remove target OS from DB failed!" - return false - end + if server.remove_supported_os( os_name ) then + puts "Target OS is removed successfully!" + return true else puts "Target OS does not exist in list!" return false end + + server.quit end @@ -415,13 +391,8 @@ class BuildServerController # add if server.add_sync_package_server( url, dist_name ) then - if server.save_db() then - puts "Remote package server is added!" - return true - else - puts "Remove package server from DB is failed!" - return false - end + puts "Remote package server is added!" + return true else puts "The server already exists in list!" return false @@ -451,13 +422,8 @@ class BuildServerController # remove if server.remove_sync_package_server( url, dist_name ) then - if server.save_db() then - puts "Remote package server is removed!" - return true - else - puts "Remove remote package server from DB is failed!" - return false - end + puts "Remote package server is removed!" + return true else puts "The server does not exist in list!" return false @@ -674,7 +640,7 @@ class BuildServerController server.prjmgr.load() puts "* REMOTE SERVER(S) *" - server.friend_servers.each do |s| + server.get_remote_servers.each do |s| puts " * #{s.ip}:#{s.port}" end puts "" @@ -692,7 +658,7 @@ class BuildServerController puts "" puts "* SYNC PACKAGE SERVER(S) *" - server.remote_pkg_servers.each do |s| + server.get_sync_package_servers.each do |s| puts " * [#{s[1]}] #{s[0]}" end puts "" @@ -864,7 +830,6 @@ class BuildServerController if not server.db_exist? then server.create_db() end - server.save_db() end @@ -975,9 +940,6 @@ class BuildServerController # set password obj.keep_time = keep_time - # load from DB - obj.load_db() - # change log setting obj.changelog_check = changelog_check diff --git a/src/build_server/DistributionManager.rb b/src/build_server/DistributionManager.rb index b364f45..7ccccc1 100644 --- a/src/build_server/DistributionManager.rb +++ b/src/build_server/DistributionManager.rb @@ -143,6 +143,7 @@ class DistributionManager rescue DBI::DatabaseError => e @server.log.error "DB loading failed!" @server.log.error e.errstr + @server.log.error e.backtrace.inspect ensure db.disconnect if db end @@ -175,6 +176,7 @@ class DistributionManager rescue DBI::DatabaseError => e @server.log.error "DB update failed!" @server.log.error e.errstr + @server.log.error e.backtrace.inspect return false ensure @@ -202,6 +204,7 @@ class DistributionManager rescue DBI::DatabaseError => e @server.log.error "DB update failed!" @server.log.error e.errstr + @server.log.error e.backtrace.inspect return false ensure @@ -228,6 +231,7 @@ class DistributionManager rescue DBI::DatabaseError => e @server.log.error "DB loading failed!" @server.log.error e.errstr + @server.log.error e.backtrace.inspect ensure db.disconnect if db end @@ -250,6 +254,7 @@ class DistributionManager rescue DBI::DatabaseError => e @server.log.error "DB loading failed!" @server.log.error e.errstr + @server.log.error e.backtrace.inspect ensure db.disconnect if db end @@ -274,6 +279,7 @@ class DistributionManager rescue DBI::DatabaseError => e @server.log.error "DB update failed!" @server.log.error e.errstr + @server.log.error e.backtrace.inspect return false ensure diff --git a/src/build_server/PackageSync.rb b/src/build_server/PackageSync.rb index 7655ccc..a0c29b2 100644 --- a/src/build_server/PackageSync.rb +++ b/src/build_server/PackageSync.rb @@ -36,6 +36,7 @@ require "ScheduledActionHandler.rb" class PackageSyncAction < Action + attr_accessor :pkgsvr_url, :dist_name @@new_id = 0 def initialize( time, url, dist_name, server ) @@ -147,11 +148,10 @@ class PackageSyncAction < Action p.os_list.each do |os| # get pkg version in server main_ver = @main_client.get_attr_from_pkg(pkg_name, os, "version") - if main_ver.nil? then next end remote_ver = @pkgsvr_client.get_attr_from_pkg(pkg_name, os, "version") if remote_ver.nil? then next end - if Version.new(main_ver) < Version.new(remote_ver) then + if main_ver.nil? or Version.new(main_ver) < Version.new(remote_ver) then pkgs.push [pkg_name, os] end end @@ -176,14 +176,57 @@ class PackageServerSynchronizer # start thread def start() - time = Time.new + 60 - @server.remote_pkg_servers.each do |entry| - url=entry[0]; dist_name=entry[1] - @handler.register( PackageSyncAction.new(time, url, dist_name, @server) ) - @server.log.info "Registered package-sync action!: #{dist_name} <= \"#{url}\"" + # start thread for handling action + @handler.start + + Thread.new do + monitor() end + end - # start handler - @handler.start + + private + def monitor() + while(true) + # wait 10 seconds + sleep 10 + + # get info from DB + syncs = @server.get_sync_package_servers() + + # check removal + @handler.get_actions().each do |act| + exist = false + syncs.each do |sync| + url=sync[0]; dist_name=sync[1] + if url == act.pkgsvr_url and dist_name == act.dist_name then + exist = true + break + end + end + if not exist then + @handler.unregister(act) + @server.log.info "Unregistered package-sync action!: #{act.dist_name} <= \"#{act.pkgsvr_url}\"" + end + end + + # check add/modify + syncs.each do |sync| + url=sync[0]; dist_name=sync[1] + exist = false + @handler.get_actions().each do |act| + if act.pkgsvr_url == url and act.dist_name == dist_name then + exist = true + end + end + + if not exist then + new_time = Time.new + 10 + @handler.register( PackageSyncAction.new(new_time, url, dist_name, @server) ) + @server.log.info "Registered package-sync action!: #{dist_name} <= \"#{url}\"" + end + end + + end end end diff --git a/src/build_server/SocketJobRequestListener.rb b/src/build_server/SocketJobRequestListener.rb index 9de8ed0..bb9b747 100644 --- a/src/build_server/SocketJobRequestListener.rb +++ b/src/build_server/SocketJobRequestListener.rb @@ -503,7 +503,7 @@ class SocketJobRequestListener when "FRIEND" BuildCommServer.send_begin(req) # print GIT projects - @parent_server.friend_servers.each do |server| + @parent_server.remote_servers.each do |server| BuildCommServer.send(req,"#{server.status},#{server.host_os},#{server.waiting_jobs.length},#{server.working_jobs.length},#{server.max_working_jobs},#{server.get_file_transfer_cnt}") end BuildCommServer.send_end(req) diff --git a/src/common/ScheduledActionHandler.rb b/src/common/ScheduledActionHandler.rb index ec6b2bf..edbd691 100644 --- a/src/common/ScheduledActionHandler.rb +++ b/src/common/ScheduledActionHandler.rb @@ -27,15 +27,17 @@ Contributors: =end $LOAD_PATH.unshift File.dirname(__FILE__) +require 'thread' class ScheduledActionHandler - attr_accessor :quit + attr_accessor :quit, :thread # init def initialize( ) @thread = nil @quit = false @actions = [] + @mutex = Mutex.new end @@ -44,7 +46,23 @@ class ScheduledActionHandler # init action action.init # add to list - @actions.push action + @mutex.synchronize do + @actions.push action + end + end + + + # unregsister a action + def unregister( action ) + @mutex.synchronize do + @actions.delete(action) + end + end + + + # get all actions + def get_actions() + return @actions end @@ -82,7 +100,7 @@ class ScheduledActionHandler action.time = action.time + action.period end else - @actions.delete(action) + unregister(action) end end end diff --git a/test/build-server.basic2/build-svr-02.testcase b/test/build-server.basic2/build-svr-02.testcase index 1a9bac9..86f59ed 100644 --- a/test/build-server.basic2/build-svr-02.testcase +++ b/test/build-server.basic2/build-svr-02.testcase @@ -19,6 +19,8 @@ add-os Add supported OS. remove-os Remove supported OS. add-dist Add distribution. remove-dist Remove distribution. +lock-dist Lock distribution. +unlock-dist Unlock distribution. add-sync Add package repository URL to synchronize with. remove-sync Remove package repository URL. add-prj Add project to build. @@ -41,6 +43,8 @@ build-svr add-os -n -o build-svr remove-os -n -o build-svr add-dist -n -D -u -d build-svr remove-dist -n -D +build-svr lock-dist -n -D +build-svr unlock-dist -n -D build-svr add-sync -n -u [--dist ] build-svr remove-sync -n -u [--dist ] build-svr add-prj -n -N (-g -b |-P ) [-w ] [-o ] [--dist ] diff --git a/test/build-server.multi-svr2/01.testcase b/test/build-server.multi-svr2/01.testcase new file mode 100644 index 0000000..f813f07 --- /dev/null +++ b/test/build-server.multi-svr2/01.testcase @@ -0,0 +1,12 @@ +#PRE-EXEC +#EXEC +../../pkg-svr register -n pkgsvr02 -d unstable -P bin/bin_0.0.1_ubuntu-32.zip +sleep 25 +../../pkg-cli list-rpkg -P bin -u `pwd`/pkgsvr02/unstable +#POST-EXEC +#EXPECT +Archive: bin/bin_0.0.1_ubuntu-32.zip +inflating: +snapshot is generated : +package registed successfully +bin (0.0.1) diff --git a/test/build-server.multi-svr2/buildsvr.init b/test/build-server.multi-svr2/buildsvr.init new file mode 100755 index 0000000..d0199b5 --- /dev/null +++ b/test/build-server.multi-svr2/buildsvr.init @@ -0,0 +1,26 @@ +#!/bin/sh +if [ "x${RUBY}" = "x" ] ;then + RUBY="ruby -d" +fi + +rm -rf buildsvr01 +rm -rf git01 +rm -rf bin +rm -rf ~/.build_tools/build_server/testserver3 + +../../build-svr remove -n testserver3 +mkdir buildsvr01 +cd buildsvr01 +${RUBY} ../../../build-svr create -n testserver3 -t ftp://ftpuser:ftpuser@127.0.0.1 +cd .. + +${RUBY} ../../build-svr add-dist -n testserver3 -D unstable -u `pwd`/pkgsvr01/unstable -d 127.0.0.1:3333 +${RUBY} ../../build-svr add-os -n testserver3 -o ubuntu-32 +${RUBY} ../../build-svr add-os -n testserver3 -o windows-32 +${RUBY} ../../build-svr add-prj -n testserver3 -N teste -P bin -D unstable -o ubuntu-32 +${RUBY} ../../build-svr add-sync -n testserver3 -u `pwd`/pkgsvr02/unstable -D unstable + +mkdir -p bin +cp ../bin/*.zip ./bin/ + +${RUBY} ../../build-svr start -n testserver3 -p 2223 --CHILD diff --git a/test/build-server.multi-svr2/pkgsvr1.init b/test/build-server.multi-svr2/pkgsvr1.init new file mode 100755 index 0000000..0cc21e3 --- /dev/null +++ b/test/build-server.multi-svr2/pkgsvr1.init @@ -0,0 +1,10 @@ +#!/bin/sh +if [ "x${RUBY}" = "x" ] ;then + RUBY="ruby -d" +fi +rm -rf ~/.build_tools/pkg_server/pkgsvr01 +rm -rf `pwd`/pkgsvr01 +${RUBY} ../../pkg-svr create -n pkgsvr01 -d unstable +${RUBY} ../../pkg-svr add-os -n pkgsvr01 -d unstable -o ubuntu-32 +${RUBY} ../../pkg-svr add-os -n pkgsvr01 -d unstable -o windows-32 +${RUBY} ../../pkg-svr start -n pkgsvr01 -p 3333 diff --git a/test/build-server.multi-svr2/pkgsvr2.init b/test/build-server.multi-svr2/pkgsvr2.init new file mode 100755 index 0000000..46ec0a7 --- /dev/null +++ b/test/build-server.multi-svr2/pkgsvr2.init @@ -0,0 +1,10 @@ +#!/bin/sh +if [ "x${RUBY}" = "x" ] ;then + RUBY="ruby -d" +fi +rm -rf ~/.build_tools/pkg_server/pkgsvr02 +rm -rf `pwd`/pkgsvr02 +${RUBY} ../../pkg-svr create -n pkgsvr02 -d unstable +${RUBY} ../../pkg-svr add-os -n pkgsvr02 -d unstable -o ubuntu-32 +${RUBY} ../../pkg-svr add-os -n pkgsvr02 -d unstable -o windows-32 +${RUBY} ../../pkg-svr start -n pkgsvr02 -p 3334 diff --git a/test/build-server.multi-svr2/testsuite b/test/build-server.multi-svr2/testsuite new file mode 100644 index 0000000..1bb2eb2 --- /dev/null +++ b/test/build-server.multi-svr2/testsuite @@ -0,0 +1 @@ +01.testcase