Unit application library.

Library now used in all language modules.
Old 'nxt_app_*' code removed.

See src/test/nxt_unit_app_test.c for usage sample.
This commit is contained in:
Max Romanov
2018-08-06 17:27:33 +03:00
parent b6ce2da65c
commit 1bb22d1e92
54 changed files with 6685 additions and 4469 deletions

View File

@@ -2,7 +2,8 @@ import atexit
def application(environ, start_response):
def at_exit():
environ['wsgi.errors'].write('At exit called.')
environ['wsgi.errors'].write('At exit called.\n')
environ['wsgi.errors'].flush()
atexit.register(at_exit)

View File

@@ -8,4 +8,5 @@ class application:
yield b''
def close(self):
self.environ['wsgi.errors'].write('Close called.')
self.environ['wsgi.errors'].write('Close called.\n')
self.environ['wsgi.errors'].flush()

View File

@@ -8,4 +8,5 @@ class application:
yield b''
def close(self):
self.environ['wsgi.errors'].write('Close called.')
self.environ['wsgi.errors'].write('Close called.\n')
self.environ['wsgi.errors'].flush()

View File

@@ -2,6 +2,7 @@ import os
import re
import sys
import json
import mmap
import time
import shutil
import socket
@@ -363,9 +364,14 @@ class TestUnitApplicationProto(TestUnitControl):
return time.mktime(time.strptime(date, '%a, %d %b %Y %H:%M:%S %Z'))
def search_in_log(self, pattern):
with open(self.testdir + '/unit.log', 'r') as f:
with open(self.testdir + '/unit.log', 'r', errors='ignore') as f:
return re.search(pattern, f.read())
def find_in_log(self, pattern):
with open(self.testdir + '/unit.log', 'rb', 0) as f, \
mmap.mmap(f.fileno(), 0, access=mmap.ACCESS_READ) as s:
return s.find(pattern) != -1
class TestUnitApplicationPython(TestUnitApplicationProto):
def load(self, script, name=None):
if name is None: