[SCM] ci-tooling packaging branch, master, updated. f55197dd85b4dc43611ba69d97b19acf06ad922c
Harald Sitter
apachelogger-guest at moszumanska.debian.org
Fri Oct 16 08:40:04 UTC 2015
Gitweb-URL: http://git.debian.org/?p=pkg-kde/ci-tooling.git;a=commitdiff;h=03f997d
The following commit has been merged in the master branch:
commit 03f997d0fa343537ef0a24cd27833ea44fd2ccf6
Author: Harald Sitter <sitter at kde.org>
Date: Fri Oct 16 09:32:30 2015 +0200
add helper to serve http data so we can fake more stuff
---
test/lib/serve.rb | 42 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
diff --git a/test/lib/serve.rb b/test/lib/serve.rb
new file mode 100644
index 0000000..d6a140a
--- /dev/null
+++ b/test/lib/serve.rb
@@ -0,0 +1,42 @@
+require 'webrick'
+
+module Test
+ @children = []
+
+ def self.http_serve(dir, port: '9473')
+ case pid = fork
+ when nil # child
+ log = WEBrick::Log.new(nil, WEBrick::BasicLog::FATAL)
+ s = WEBrick::HTTPServer.new(DocumentRoot: dir,
+ Port: port,
+ AccessLog: [],
+ Logger: log)
+ siglist = %w(HUP INT QUIT TERM)
+ siglist &= Signal.list.keys
+ siglist.each do |sig|
+ Signal.trap(sig, proc { s.shutdown })
+ end
+ s.start
+ else # parent
+ @children << pid
+ at_exit { nuke } # Make sure the child dies even on raised error exits.
+ yield
+ end
+ ensure
+ if pid
+ kill(pid)
+ @children.delete(pid)
+ end
+ end
+
+ def self.kill(pid)
+ Process.kill('TERM', pid)
+ Process.waitpid(pid)
+ end
+
+ def self.nuke
+ @children.each do |pid|
+ kill(pid)
+ end
+ end
+end
--
ci-tooling packaging
More information about the pkg-kde-commits
mailing list