summaryrefslogtreecommitdiffstats
path: root/scripts/external_libs/python-daemon-2.0.5/doc/TODO
blob: 81b414818a2f6522cc80fac2e35a7cf650890428 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
TODO for ‘python-daemon’ library
################################

:Updated: 2015-01-10

=======
PENDING
=======

Tests
=====

Libraries
=========

* Evaluate switching to ‘flufl.lock’ library for PID lockfile behaviour
  <http://pypi.python.org/pypi/flufl.lock>_.

Features
========

Important
---------

Wishlist
--------

* Allow specification of a syslog service name to log as (default:
  output to stdout and stderr, not syslog).

Documentation
=============

Standard library inclusion
==========================


====
DONE
====

* Convert to Python 2 and Python 3 compatible code base.

* Work correctly with current ‘lockfile’ library (0.10 or later).

* Write full unit tests for every new or changed behaviour at time of
  commit.

* Detect whether started by another process that handles
  daemonisation, such as ‘inetd’, and behave appropriately.

* Detach to new process and session group.

* Allow specification of working directory (default: '/').

* Allow specification of umask (default: 0o000).

* Drop ‘suid’ and ‘sgid’ privileges if set.

* Close all open file handles.

* Re-open stdin, stdout, stderr to user-specified files.

* Default re-open stdin, stdout, stderr to ‘/dev/null’.

* Allow specification of a non-root user and group to drop to, if
  started as ‘root’ (default: no change of user or group).

* Implement context manager protocol for daemon context.

* Allow specification of PID file with its own context manager
  (default: no PID file).

* Full docstrings for functions, classes, and modules.

* PEP 3143 for adding this library to the Python standard library.


..
    This is free software: you may copy, modify, and/or distribute this work
    under the terms of the Apache License version 2.0 as published by the
    Apache Software Foundation.
    No warranty expressed or implied. See the file ‘LICENSE.ASF-2’ for details.

..
    Local variables:
    coding: utf-8
    mode: text
    mode: rst
    time-stamp-format: "%:y-%02m-%02d"
    time-stamp-start: "^:Updated:[         ]+"
    time-stamp-end: "$"
    time-stamp-line-limit: 20
    End:
    vim: fileencoding=utf-8 filetype=rst :
self.router.configure_basic_interfaces() self.router.config_pbr(mode = "config") self.router.config_nbar_pd() mult = self.get_benchmark_param('multiplier') core = self.get_benchmark_param('cores') ret = self.trex.start_trex ( c = core, m = mult, nc = True, p = True, d = 100, f = 'avl/sfr_delay_10_1g.yaml', client_cfg = 'automation/regression/cfg/client_cfg.yaml', l = 1000) trex_res = self.trex.sample_to_run_finish() print("\nLATEST RESULT OBJECT:") print(trex_res) self.check_general_scenario_results(trex_res, check_latency = False) # no latency with client config self.match_classification() def test_client_cfg_vlan(self): if self.is_loopback: self.skip('Not relevant on loopback') self.router.configure_basic_interfaces(vlan = True) self.router.config_pbr(mode = "config", vlan = True) mult = self.get_benchmark_param('multiplier') core = self.get_benchmark_param('cores') ret = self.trex.start_trex ( c = core, m = mult, nc = True, p = True, d = 60, f = 'cap2/dns.yaml', limit_ports = 4, client_cfg = 'automation/regression/cfg/client_cfg_vlan.yaml') trex_res = self.trex.sample_to_run_finish() print("\nLATEST RESULT OBJECT:") print(trex_res) self.check_general_scenario_results(trex_res, check_latency = False) # no latency with client config def tearDown(self): CTRexNbarBase.tearDown(self) pass if __name__ == "__main__": pass