plasmodic / ecto

ecto is a dynamically configurable Directed Acyclic processing Graph (DAG) framework.
http://ecto.willowgarage.com/
BSD 3-Clause "New" or "Revised" License
97 stars 37 forks source link

Some of the provided tests fail in the current HEAD version. #278

Closed SebastianRiedel closed 8 years ago

SebastianRiedel commented 9 years ago

It built ecto using the gtest 1.7, catkin 0.6.14, pyside-qt4.8+1.2.2 and with boost 1.52.0. on a 32bit machine using python 2.7.6. The test results are the following:

92% tests passed, 8 tests failed out of 101

Total Test time (real) = 247.52 sec

The following tests FAILED:
                12 - header_compiles_standalone_ecto_edge_hpp (Failed)
                13 - header_compiles_standalone_ecto_element_hpp (Failed)
                18 - header_compiles_standalone_ecto_impl_parameters_hpp (Failed)
                45 - header_compiles_standalone_ecto_vertex_hpp (Failed)
                46 - license_in_headers (Failed)
                47 - license_in_src (Failed)
                49 - license_in_py (Failed)
                50 - _ctest_ecto_gtest_ecto-test (Failed)
Errors while running CTest
make: *** [test] Error 8
vrabaud commented 9 years ago

Not for me. Do you have all dependencies installed ? What happens if you do ctest -R header_compiles_standalone_ecto_edge_hpp -V or ctest -R license_in_py -V. Thx

SebastianRiedel commented 9 years ago

...I figured there must be a way to get more output on those tests. I'm building ecto on a Sled-11 system using gcc/g++ 4.3.4. Do you think it’s a compiler issue (for the compile test)? I could try with gcc 4.7 later.

>>> gcc --version
gcc (SUSE Linux) 4.3.4 [gcc-4_3-branch revision 152973]
>>> g++ --version
g++ (SUSE Linux) 4.3.4 [gcc-4_3-branch revision 152973]
>>> cat /etc/*-release
LSB_VERSION="core-2.0-noarch:core-3.2-noarch:core-4.0-noarch:core-2.0-ia32:core-3.2-ia32:core-4.0-ia32"
SUSE Linux Enterprise Desktop 11 (i586)
VERSION = 11
ctest -R header_compiles_standalone_ecto_edge_hpp -V
UpdateCTestConfiguration  from :/volume/USERSTORE/ried_sa/software/ecto/build/DartConfiguration.tcl
UpdateCTestConfiguration  from :/volume/USERSTORE/ried_sa/software/ecto/build/DartConfiguration.tcl
Test project /volume/USERSTORE/ried_sa/software/ecto/build
Constructing a list of tests
Done constructing a list of tests
Checking test dependency graph...
Checking test dependency graph end
test 12
    Start 12: header_compiles_standalone_ecto_edge_hpp

12: Test command: /usr/bin/gmake "header_compiles_standalone_ecto_edge_hpp"
12: Test timeout computed to be: 9.99988e+06
12: Building CXX object test/compile/CMakeFiles/header_compiles_standalone_ecto_edge_hpp.dir/header_compiles_standalone_ecto_edge_hpp.cpp.o
12: In file included from /volume/USERSTORE/ried_sa/software/ecto/src/ecto/include/ecto/edge.hpp:31,
12:                  from /volume/USERSTORE/ried_sa/software/ecto/build/test/compile/header_compiles_standalone_ecto_edge_hpp.cpp:1:
12: /volume/USERSTORE/ried_sa/software/ecto/src/ecto/include/ecto/element.hpp:40: error: ‘size_t’ in namespace ‘std’ does not name a type
12: /volume/USERSTORE/ried_sa/software/ecto/src/ecto/include/ecto/element.hpp:44: error: ‘size_t’ in namespace ‘std’ does not name a type
12: /volume/USERSTORE/ried_sa/software/ecto/src/ecto/include/ecto/element.hpp: In constructor ‘ecto::graph::element::element()’:
12: /volume/USERSTORE/ried_sa/software/ecto/src/ecto/include/ecto/element.hpp:38: error: class ‘ecto::graph::element’ does not have any field named ‘tick_’
12: /volume/USERSTORE/ried_sa/software/ecto/src/ecto/include/ecto/element.hpp: In member function ‘void ecto::graph::element::inc_tick()’:
12: /volume/USERSTORE/ried_sa/software/ecto/src/ecto/include/ecto/element.hpp:41: error: ‘tick_’ was not declared in this scope
12: /volume/USERSTORE/ried_sa/software/ecto/src/ecto/include/ecto/element.hpp: In member function ‘void ecto::graph::element::reset_tick()’:
12: /volume/USERSTORE/ried_sa/software/ecto/src/ecto/include/ecto/element.hpp:42: error: ‘tick_’ was not declared in this scope
12: gmake[3]: *** [test/compile/CMakeFiles/header_compiles_standalone_ecto_edge_hpp.dir/header_compiles_standalone_ecto_edge_hpp.cpp.o] Error 1
12: gmake[2]: *** [test/compile/CMakeFiles/header_compiles_standalone_ecto_edge_hpp.dir/all] Error 2
12: gmake[1]: *** [test/compile/CMakeFiles/header_compiles_standalone_ecto_edge_hpp.dir/rule] Error 2
12: gmake: *** [test/compile/CMakeFiles/header_compiles_standalone_ecto_edge_hpp.dir/rule] Error 2
1/1 Test #12: header_compiles_standalone_ecto_edge_hpp ...***Failed    0.20 sec

0% tests passed, 1 tests failed out of 1

Total Test time (real) =   0.22 sec

The following tests FAILED:
     12 - header_compiles_standalone_ecto_edge_hpp (Failed)
Errors while running CTest
ctest -R license_in_py -V
UpdateCTestConfiguration  from :/volume/USERSTORE/ried_sa/software/ecto/build/DartConfiguration.tcl
UpdateCTestConfiguration  from :/volume/USERSTORE/ried_sa/software/ecto/build/DartConfiguration.tcl
Test project /volume/USERSTORE/ried_sa/software/ecto/build
Constructing a list of tests
Done constructing a list of tests
Checking test dependency graph...
Checking test dependency graph end
test 49
    Start 49: license_in_py

49: Test command: /volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/compile/check_new_bsd_license.py "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/python/ecto/__init__.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/python/ecto/blackbox.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/python/ecto/cell.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/python/ecto/doc.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/python/ecto/gui.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/python/ecto/opts.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/python/ecto/schedulers.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/python/ecto/state.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/python/ecto/test.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/python/ecto/sphinx/EctoCellDirective.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/python/ecto/sphinx/EctoModuleDirective.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/python/ecto/sphinx/EctoPlotDirective.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/python/ecto/sphinx/EctoShLexer.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/python/ecto/sphinx/ToggleDirective.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/python/ecto/sphinx/__init__.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/python/ecto/sphinx/programoutput.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/gil_exercise.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/save_load_plasm_file.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_If.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_addergraph.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_async.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_async_bp_objects.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_async_execution.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_async_execution_harsh.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_async_multiple_sched.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_blackbox.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_bp_to_cell_ptr.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_circular.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_configure_called_once.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_constant.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_dealer.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_doc.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_dual_line_plasm.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_entanglement.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_exception.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_exception_in_constructor.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_fileIO.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_handles.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_lineplasm.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_metrics.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_module_qualification.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_modules.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_multiplasm_scheduler.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_multiprocess.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_nested_if.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_no_ecto_import.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_options.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_parameter_callbacks.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_passthrough.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_plasm.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_process_return_values.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_ptime_bindings.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_python_module.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_random.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_reconnect.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_redirect.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_required_io.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_required_param.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_restart.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_shared_pass.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_small_plasms.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_start_stop_counter.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_strands.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_tendril.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_tendril_type_reg.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_tendrils.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_tendrils_mux.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_tendrils_serialization.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_tendrilspassthrough.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_term.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_throw.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_type_mismatch_errors.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/test_wrong_param_type.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/throw_in_interpreter_thread.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/scripts/util.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/samples/hello.py" "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/samples/sample_opts.py"
49: Test timeout computed to be: 9.99988e+06
49: /volume/USERSTORE/ried_sa/software/ecto/src/ecto/python/ecto/__init__.py...ok
49: /volume/USERSTORE/ried_sa/software/ecto/src/ecto/python/ecto/blackbox.py...ok
49: /volume/USERSTORE/ried_sa/software/ecto/src/ecto/python/ecto/cell.py...ok
49: /volume/USERSTORE/ried_sa/software/ecto/src/ecto/python/ecto/doc.py...ok
49: Traceback (most recent call last):
49:   File "/volume/USERSTORE/ried_sa/software/ecto/src/ecto/test/compile/check_new_bsd_license.py", line 70, in <module>
49:     if thiserror and autofix:
49: NameError: name 'autofix' is not defined
1/1 Test #49: license_in_py ....................***Failed    0.07 sec

0% tests passed, 1 tests failed out of 1

Total Test time (real) =   0.09 sec

The following tests FAILED:
     49 - license_in_py (Failed)
Errors while running CTest
v4hn commented 9 years ago

@vrabaud: These tests are disabled by default, so you have to enable ECTO_ENABLE_COMPILE_TESTS manually to check.

I added a request to fix some of them.

The remaining test cases that fail over here either relate to gtest (_ctest_ecto_gtest_ecto-test) - I don't have gtest around to check this one - or relate to missing license headers. As I didn't write the respective parts of the code, I'm not allowed to add the headers there.

The rebellious files are: include/ecto/impl/parameters.hpp include/ecto/serialization/tendril.hpp include/ecto/parameters.hpp include/ecto/time.hpp src/lib/parameters.cpp src/lib/time.cpp src/pybindings/parameters.cpp src/pybindings/cells/PassthroughTendrils.cpp src/pybindings/cells/tendril_mux.cpp python/ecto/state.py python/ecto/gui.py python/ecto/sphinx/ToggleDirective.py test/scripts/test_tendrilspassthrough.py test/scripts/test_tendril_type_reg.py test/scripts/test_circular.py test/scripts/test_tendrils_mux.py test/scripts/test_term.py test/scripts/test_tendrils_serialization.py

Also the test script is very primitive and does not even allow for a different copyright holder (hack, WG 2011 did not write every part of the code). This creates some false-negatives. I think the script&tests should be removed or rewritten to support the false-negative cases. The autofix feature is a bad idea for license headers anyway and should be dropped. This doesn't change the fact that the above files should contain license headers.

vrabaud commented 8 years ago

fixed in #282 I agree with the license, those tests should be there by default anyway (and be fixed :) )