Comments (2)
Ok. So what's happening:
octue/templates/template-python-fractal/twine.json
has nooutput_values
tests/data/twines/valid_schema_twine.json
hasoutput_values
with required propertywidth
- Invoking the full test harness (i.e. reproducing the error) causes
test_run_command_works_with_data_dir
to run, with
TESTS_DIR=/Users/thc29/Source/octue/octue-sdk-python/tests
self.TWINE_FILE_PATH=/Users/thc29/Source/octue/octue-sdk-python/tests/data/twines/valid_schema_twine.json
- console output
Hello! The app is running!
NB this is the fractal app output result.output=
analysis-ebfbb81f-93d3-4a7c-b59b-d151cc691547 ERROR 2020-11-17 10:36:19,305 runner 13523 4518925760 'width'
- The value of
width
is required by the fractal app (but the default in the twine is not used) so supplying configuration values without thewidth
value will pass validation but cause a KeyError (after console logging "the app is running"). - This is wrong because of course the incorrect app is being used... And misleading because of the weird way that jsonschema defaults are (not) dealt with.
Conclusion: I'm expecting an issue with AppFrom
where the app
module is not reloaded on repeat imports. Thus, if another app is loaded first, that'll be used for subsequent analyses.
We may not encounter this condition in real life, but if we do it'll be hella confusing for everybody. So, I propose we fix the issue rather than attempting to kludge a fix of the tests.
from octue-sdk-python.
Interestingly I reproduce this behaviour for local tox tests on python 3.8.
But, for locally run tox tests on python 3.6.9 I get 4 errors, not 2, with the additional ones being:
======================================================================
FAIL: test_help (tests.test_cli.RunnerTestCase)
Ensure the help commands works in the CLI.
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/thc29/Source/octue/octue-sdk-python/tests/test_cli.py", line 23, in test_help
assert help_result.output.startswith('Usage')
AssertionError
======================================================================
FAIL: test_version (tests.test_cli.RunnerTestCase)
Ensure the version command works in the CLI.
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/thc29/Source/octue/octue-sdk-python/tests/test_cli.py", line 18, in test_version
assert 'version' in result.output
AssertionError
----------------------------------------------------------------------
This might be unrelated.
from octue-sdk-python.
Related Issues (20)
- Add ability to run callback function on answers when using `Child.ask_multiple`
- Allow specifying project name by environment variable
- Drop python3.7 support
- Add documentation about `bigquery` installation extra HOT 1
- Make octue services easy to test and patch HOT 1
- Make `Dataset` instantiation recursive by default
- Negative number of missing events logged HOT 1
- Add `octue logs` CLI command HOT 1
- Order events by datetime instead of `order` HOT 3
- Add option to strip metadata when replaying events
- Speed up event replayer
- Make local/temporary file/directory deletion thread-safe
- Make sure `octue` CLI commands are in line with `answer_question` method of running a service
- Document `EventReplayer`
- Turn off event validation in `EventReplayer` by default
- Add alternative constructor to `EventReplayer` that gets events from event store
- Access to output datasets via output manifest expires after 7 days HOT 1
- Disable use of signed URLs in output manifests by default
- No way to determine if a service revision exists at ask time
- Docs refer to wrong schema regsitry URL
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from octue-sdk-python.