Merge branch 'develop' of https://DennisOSRM@github.com/DennisOSRM/Project-OSRM.git into develop
This commit is contained in:
commit
10513784c7
@ -197,17 +197,28 @@ def write_timestamp
|
|||||||
File.open( "#{@osm_file}.osrm.timestamp", 'w') {|f| f.write(OSM_TIMESTAMP) }
|
File.open( "#{@osm_file}.osrm.timestamp", 'w') {|f| f.write(OSM_TIMESTAMP) }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def log_tail path, n
|
||||||
|
File.open(path) do |f|
|
||||||
|
return f.tail(n).map { |line| " #{line}" }.join "\n"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def reprocess
|
def reprocess
|
||||||
Dir.chdir TEST_FOLDER do
|
Dir.chdir TEST_FOLDER do
|
||||||
write_osm
|
write_osm
|
||||||
write_timestamp
|
write_timestamp
|
||||||
convert_osm_to_pbf
|
convert_osm_to_pbf
|
||||||
|
|
||||||
|
log_path = 'preprocessing.log'
|
||||||
|
log_lines = 3
|
||||||
|
|
||||||
unless extracted?
|
unless extracted?
|
||||||
log_preprocess_info
|
log_preprocess_info
|
||||||
log "== Extracting #{@osm_file}.osm...", :preprocess
|
log "== Extracting #{@osm_file}.osm...", :preprocess
|
||||||
unless system "../osrm-extract #{@osm_file}.osm.pbf 1>>#{PREPROCESS_LOG_FILE} 2>>#{PREPROCESS_LOG_FILE} ../profiles/#{@profile}.lua"
|
unless system "../osrm-extract #{@osm_file}.osm.pbf 1>>#{PREPROCESS_LOG_FILE} 2>>#{PREPROCESS_LOG_FILE} ../profiles/#{@profile}.lua"
|
||||||
log "*** Exited with code #{$?.exitstatus}.", :preprocess
|
log "*** Exited with code #{$?.exitstatus}.", :preprocess
|
||||||
raise OSRMError.new 'osrm-extract', $?.exitstatus, "*** osrm-extract exited with code #{$?.exitstatus}. The file preprocess.log might contain more info."
|
tail = log_tail log_path,log_lines
|
||||||
|
raise OSRMError.new 'osrm-extract', $?.exitstatus, "*** osrm-extract exited with code #{$?.exitstatus}. Last #{log_lines} lines from #{log_path}:\n#{tail}\n"
|
||||||
end
|
end
|
||||||
log '', :preprocess
|
log '', :preprocess
|
||||||
end
|
end
|
||||||
@ -216,7 +227,8 @@ def reprocess
|
|||||||
log "== Preparing #{@osm_file}.osm...", :preprocess
|
log "== Preparing #{@osm_file}.osm...", :preprocess
|
||||||
unless system "../osrm-prepare #{@osm_file}.osrm #{@osm_file}.osrm.restrictions 1>>#{PREPROCESS_LOG_FILE} 2>>#{PREPROCESS_LOG_FILE} ../profiles/#{@profile}.lua"
|
unless system "../osrm-prepare #{@osm_file}.osrm #{@osm_file}.osrm.restrictions 1>>#{PREPROCESS_LOG_FILE} 2>>#{PREPROCESS_LOG_FILE} ../profiles/#{@profile}.lua"
|
||||||
log "*** Exited with code #{$?.exitstatus}.", :preprocess
|
log "*** Exited with code #{$?.exitstatus}.", :preprocess
|
||||||
raise OSRMError.new 'osrm-prepare', $?.exitstatus, "*** osrm-prepare exited with code #{$?.exitstatus}. The file preprocess.log might contain more info."
|
tail = log_tail log_path,log_lines
|
||||||
|
raise OSRMError.new 'osrm-prepare', $?.exitstatus, "*** osrm-prepare exited with code #{$?.exitstatus}. Last #{log_lines} lines from #{log_path}:\n#{tail}\n"
|
||||||
end
|
end
|
||||||
log '', :preprocess
|
log '', :preprocess
|
||||||
end
|
end
|
||||||
|
22
features/support/file.rb
Normal file
22
features/support/file.rb
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
class File
|
||||||
|
|
||||||
|
#read last n lines of a file. useful for getting last part of a big log file.
|
||||||
|
def tail(n)
|
||||||
|
buffer = 1024
|
||||||
|
idx = (size - buffer).abs
|
||||||
|
chunks = []
|
||||||
|
lines = 0
|
||||||
|
|
||||||
|
begin
|
||||||
|
seek(idx)
|
||||||
|
chunk = read(buffer)
|
||||||
|
lines += chunk.count("\n")
|
||||||
|
chunks.unshift chunk
|
||||||
|
idx -= buffer
|
||||||
|
end while lines < ( n + 1 ) && pos != 0
|
||||||
|
|
||||||
|
tail_of_file = chunks.join('')
|
||||||
|
ary = tail_of_file.split(/\n/)
|
||||||
|
lines_to_return = ary[ ary.size - n, ary.size - 1 ]
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in New Issue
Block a user