[server,bfss] fix storage migration when Bytes attributes is None (closes #13519541)
When a Bytes attributes is None before the BFSS storage migration,
the migration crashes. A Bytes attribute can be None, when the attribute
is not required and there is no default value. In this case, the attributes
should remained None after migration and no file is stored on the disk.
[tox]
envlist =
py27-{cubicweb,dataimport,devtools,entities,etwist,ext,hooks,server,sobjects,web,wsgi},
py34-{cubicweb,dataimport,devtools,entities,ext,hooks,server,sobjects,web,wsgi}
[testenv]
usedevelop = True
sitepackages = True
whitelist_externals =
/usr/bin/touch
deps =
hg+https://hg.logilab.org/master/yams@20b43fb67201#egg=yams
hg+https://hg.logilab.org/master/logilab/common@7ebacaa38380#egg=logilab-common
py34: -e.
cubicweb: -r{toxinidir}/cubicweb/test/requirements.txt
devtools: -r{toxinidir}/cubicweb/devtools/test/requirements.txt
entities: -r{toxinidir}/cubicweb/entities/test/requirements.txt
etwist: -r{toxinidir}/cubicweb/etwist/test/requirements.txt
ext: -r{toxinidir}/cubicweb/ext/test/requirements.txt
hooks: -r{toxinidir}/cubicweb/hooks/test/requirements.txt
server: -r{toxinidir}/cubicweb/server/test/requirements.txt
sobjects: -r{toxinidir}/cubicweb/sobjects/test/requirements.txt
web: -r{toxinidir}/cubicweb/web/test/requirements.txt
wsgi: -r{toxinidir}/cubicweb/wsgi/test/requirements.txt
pytest
commands =
py34-cubicweb: touch {envdir}/share/cubicweb/cubes/__init__.py
py34-server: touch {envdir}/share/cubicweb/cubes/__init__.py
py34-sobjects: touch {envdir}/share/cubicweb/cubes/__init__.py
py34-web: touch {envdir}/share/cubicweb/cubes/__init__.py
cubicweb: {envpython} -m pip install --upgrade --no-deps --quiet git+git://github.com/logilab/yapps@master#egg=yapps
cubicweb: {envpython} -m pytest {toxinidir}/cubicweb/test {posargs}
dataimport: {envpython} -m pytest {toxinidir}/cubicweb/dataimport/test {posargs}
devtools: {envpython} -m pytest {toxinidir}/cubicweb/devtools/test {posargs}
entities: {envpython} -m pytest {toxinidir}/cubicweb/entities/test {posargs}
etwist: {envpython} -m pytest {toxinidir}/cubicweb/etwist/test {posargs}
ext: {envpython} -m pytest {toxinidir}/cubicweb/ext/test {posargs}
hooks: {envpython} -m pytest {toxinidir}/cubicweb/hooks/test {posargs}
server: {envpython} -m pytest {toxinidir}/cubicweb/server/test {posargs}
sobjects: {envpython} -m pytest {toxinidir}/cubicweb/sobjects/test {posargs}
web: {envpython} -m pytest {toxinidir}/cubicweb/web/test {posargs}
wsgi: {envpython} -m pytest {toxinidir}/cubicweb/wsgi/test {posargs}
[testenv:doc]
changedir = doc
whitelist_externals =
sphinx-build
deps =
sphinx
commands = sphinx-build -b html -d {envtmpdir}/doctrees . {envtmpdir}/html
[pytest]
python_files = *test_*.py