276fbc652a
Bump Python version requirement
2020-08-07 15:56:53 -04:00
10b34f5937
Fix issue with test suite and empty dirs on git
...
Git doesn't save empty dirs, so put a placeholder there that is
ignored when the test data is copied to its final location during
testing.
2020-08-07 10:49:29 -04:00
83daeb148a
Add fsck scan for any data timestamps outside interval range
2020-08-07 10:25:22 -04:00
d65f00e8b2
Add fsck to default tests
2020-08-07 02:56:49 -04:00
71dc01c9a7
Replace deprecated numpy.fromstring usage
2020-08-07 02:55:20 -04:00
bcd21b3498
Improve fsck test coverage to 100%
2020-08-07 02:54:45 -04:00
a1dee0e6f2
Improve fsck test coverage to 85%
2020-08-07 01:26:30 -04:00
99ac47cf0d
Start implementing fsck test and porting fsck to Python 3
2020-08-07 00:11:45 -04:00
4cdaef51c1
Fix flake8-reported issues with fsck
2020-08-06 23:10:51 -04:00
88466dcafe
Add yappi dependency for "nilmdb-server -y", but don't require ipython
2020-08-06 22:55:27 -04:00
8dfb8da15c
Freeze requirements to specific versions
2020-08-06 18:11:33 -04:00
6cc1f6b7b2
Fix #! at top of shell scripts for py3 and venvs
2020-08-05 17:02:30 -04:00
8dc36c2d37
Fix stream_insert_context docstring
...
This was never updated when timestamps were changed from floats to
ints.
2020-08-05 14:22:35 -04:00
3738430103
Fix flake8 warnings
2020-08-03 23:40:53 -04:00
a41111b045
Fix some Python 3.8 related issues
2020-08-03 17:48:51 -04:00
85f822e1c4
Decode non-JSON HTTP responses when possible
...
This doesn't affect anything in nilmdb, but is needed by nilmrun.
2020-08-03 17:31:11 -04:00
0222dfebf0
Update git URL
2020-08-03 16:48:54 -04:00
70914690c1
Update README for Python 3.8 and newer
2020-08-03 16:36:10 -04:00
10400f2b07
rocket: suppress build warnings
2020-08-03 16:27:55 -04:00
56153ff7ad
Update installation instructions
2019-08-30 17:14:50 -04:00
671f87b047
Clean up README
2019-08-30 16:29:39 -04:00
2f2faeeab7
Add pylint config and selectively fix some pylint errors
...
Some pylint errors are worth fixing; many are not.
2019-08-30 16:29:39 -04:00
2ed544bd30
Fix flake8-reported code style issues
2019-08-30 16:29:39 -04:00
6821b2a97b
Merge branch 'py3'
2019-08-30 16:27:11 -04:00
b20bb92988
Improve test coverage and remove the last "#pragma: no cover"
...
We now have full coverage of the main code.
2019-08-30 13:52:13 -04:00
699de7b11f
Change fast shutdown timeout to 0
...
This used to have problems with older CherryPy versions, but the
current one seems to handle it just fine.
2019-08-30 12:01:09 -04:00
ea67e45be9
Clean up how we handle cherrypy's calls of os._exit(70)
...
With this solution, we can catch it cleanly in the standalone
nilmdb-server, and test the error paths in our normal test suite.
2019-08-30 11:59:52 -04:00
ca440a42bd
Fix nilmdb-server argument parsing, logging, and profiling
...
It works again now.
2019-08-30 11:24:17 -04:00
4ff4b263b4
Fill out code coverage for nilmdb/server/bulkdata.py
2019-08-30 11:14:06 -04:00
79e544c733
Fix python2->3 conversion of pickle
2019-08-30 11:13:55 -04:00
9acf99ff25
Fill out coverage for server/nilmdb.py and remove dead code
2019-08-30 10:32:52 -04:00
4958a5ab2e
Improve test coverage
2019-08-30 01:28:16 -04:00
f2d89e2da5
Remove very outdated pytables tests
2019-08-30 01:28:03 -04:00
1952f245c0
Try to clean up some issues with cherrypy startup and os._exit
...
This is hard and finicky to test, so there's unfortunately not a clear
way to get 100% test coverage in cherrypy_start. However, that
function is only used in the test suite and the standalone
nilmdb-server script, not in production (which goes through wsgi and
skips all this cherrypy server stuff entirely).
2019-08-30 01:21:37 -04:00
7cbc0c11c3
Run cherrypy always in "embedded" mode
...
Non-embedded mode is not used in the test suite or wsgi server;
it was an option in the standalong nilmdb-server script, but it's
really not necessary, and removing it gets rid of some untested
code.
2019-08-30 00:24:16 -04:00
9f2651c35e
Stop ignoring errors when disabling SIGPIPE
2019-08-30 00:16:26 -04:00
9126980ed4
Add tests for bash completion; fix Unicode bug that turned up
...
Note that argcomplete is also now required.
2019-08-30 00:15:29 -04:00
ea051c85b3
Improve test coverage for CORS_allow
2019-08-30 00:15:29 -04:00
d8294469cf
Fix diskusage test coverage
2019-08-30 00:15:29 -04:00
96eadb0577
Add test for WSGI server, and fix a str/bytes bug that it found
2019-08-30 00:15:29 -04:00
fb524c649f
Remove old workaround for some nosetests multiprocessing bug
2019-08-29 14:52:55 -04:00
19a34a07a4
Always use pyximport, since we now require cython.
...
This is optional and helps with development. If we ever need/want to
support systems without Cython, this can be wrapped in a
try/except:pass block (and the .c files can be included in the
MANIFEST.in so that source distributions include them).
2019-08-29 14:52:55 -04:00
d8df6f515f
Update setup.py and build instructions
...
This is a pretty big simplification: the user should first use pip to
install everything in `requirements.txt`, and we no longer try to
cater to cases where Cython is missing, etc.
2019-08-29 14:52:55 -04:00
90ee127c87
Move MANIFEST.in out from setup.py into its own file
...
This was in setup.py to reduce litter in the root directory, but it's
simpler to keep it how it's supposed to be.
2019-08-29 11:03:42 -04:00
0b631b7dea
Use built-in json module rather than external simplejson
...
simplejson was there for python <= 2.6 compatibility.
It's not needed now, and installing it with pip can lead to segfaults
because pip is dumb.
(see e.g. https://github.com/simplejson/simplejson/issues/114 )
2019-08-28 18:17:55 -04:00
f587518adb
Improve test coverage
2019-08-26 17:22:43 -04:00
efbb2665fe
Improve test coverage
2019-08-26 17:08:00 -04:00
544413018c
Add some thread safety tests
...
We don't actually use nilmdb.utils.threadsafety.verify_proxy in the
main NilmDB code, but it's useful for finding errors.
It found an issue with __getattr__ in SerializerProxy which
(1) can't be avoided?
(2) is now commented in the code
(3) shouldn't matter in real use
2019-08-26 16:19:26 -04:00
322b0ec423
Remove impossible error in serializer and test with a C module
2019-08-26 15:40:07 -04:00
f3833d9b20
Use pip fallocate package rather than hand-rolling
2019-08-26 15:34:14 -04:00