docker-coala-base
docker-coala-base copied to clipboard
verilator tests fail
When re-enabling the bear tests disabled in 05fdfb72, only the verilator tests fail.
The Dockerfile does install verilator
=================================== FAILURES ===================================
____________________ VerilogLintBearTest.test_invalid_files ____________________
bear = <VerilogLintBear linter object (wrapping 'verilator') at 0x7f2d3e8d79b0>
args = ('/tmp/tmpmg09rfhx', ['\n', 'module updowncount(R, Clock, L, E, up_down, Q);\n', ' parameter n=8;\n', ' input [n-1:0] R;\n', ' input Clock, L, E, up_down;\n', ' output [n-1:0] Q;\n', ...])
kwargs = {}, bear_output_generator = None
msg = ['Running bear VerilogLintBear...', "Running 'verilator --lint-only /tmp/tmpmg09rfhx'", 'Bear VerilogLintBear failed t...ine 1544, in _execute_child\n raise child_exception_type(errno_num, err_msg)\nOSError: [Errno 8] Exec format error']
@contextmanager
def execute_bear(bear, *args, **kwargs):
try:
bear_output_generator = bear.execute(*args, **kwargs)
assert bear_output_generator is not None, \
> 'Bear returned None on execution\n'
E AssertionError: Bear returned None on execution
/coala/coalib/testing/LocalBearTestHelper.py:19: AssertionError
During handling of the above exception, another exception occurred:
self = <coalib.testing.LocalBearTestHelper.verify_local_bear.<locals>.LocalBearTest testMethod=test_invalid_files>
def test_invalid_files(self):
self.assertIsInstance(invalid_files, (list, tuple))
for file in invalid_files:
self.check_validity(self.uut,
file.splitlines(keepends=True),
filename,
valid=False,
force_linebreaks=force_linebreaks,
create_tempfile=create_tempfile,
> tempfile_kwargs=tempfile_kwargs)
/coala/coalib/testing/LocalBearTestHelper.py:199:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/coala/coalib/testing/LocalBearTestHelper.py:72: in check_validity
execute_bear(local_bear, fname, file) as bear_output:
/usr/lib64/python3.5/contextlib.py:59: in __enter__
return next(self.gen)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
bear = <VerilogLintBear linter object (wrapping 'verilator') at 0x7f2d3e8d79b0>
args = ('/tmp/tmpmg09rfhx', ['\n', 'module updowncount(R, Clock, L, E, up_down, Q);\n', ' parameter n=8;\n', ' input [n-1:0] R;\n', ' input Clock, L, E, up_down;\n', ' output [n-1:0] Q;\n', ...])
kwargs = {}, bear_output_generator = None
msg = ['Running bear VerilogLintBear...', "Running 'verilator --lint-only /tmp/tmpmg09rfhx'", 'Bear VerilogLintBear failed t...ine 1544, in _execute_child\n raise child_exception_type(errno_num, err_msg)\nOSError: [Errno 8] Exec format error']
@contextmanager
def execute_bear(bear, *args, **kwargs):
try:
bear_output_generator = bear.execute(*args, **kwargs)
assert bear_output_generator is not None, \
'Bear returned None on execution\n'
yield bear_output_generator
except Exception as err:
msg = []
while not bear.message_queue.empty():
msg.append(bear.message_queue.get().message)
> raise AssertionError(str(err) + ' \n' + '\n'.join(msg))
E AssertionError: Bear returned None on execution
E
E Running bear VerilogLintBear...
E Running 'verilator --lint-only /tmp/tmpmg09rfhx'
E Bear VerilogLintBear failed to run. Take a look at debug messages (`-V`) for further information.
E The bear VerilogLintBear raised an exception. If you are the author of this bear, please make sure to catch all exceptions. If not and this error annoys you, you might want to get in contact with the author of this bear.
E
E Traceback information is provided below:
E
E Traceback (most recent call last):
E File "/coala/coalib/bears/Bear.py", line 239, in execute
E result = self.run_bear_from_section(args, kwargs)
E File "/coala/coalib/bears/Bear.py", line 232, in run_bear_from_section
E return self.run(*args, **kwargs)
E File "/coala/coalib/bearlib/abstractions/Linter.py", line 521, in run
E cwd=self.get_config_dir())
E File "/coala/coalib/misc/Shell.py", line 103, in run_shell_command
E with run_interactive_shell_command(command, **kwargs) as p:
E File "/usr/lib64/python3.5/contextlib.py", line 59, in __enter__
E return next(self.gen)
E File "/coala/coalib/misc/Shell.py", line 70, in run_interactive_shell_command
E process = Popen(command, **args)
E File "/usr/lib64/python3.5/subprocess.py", line 950, in __init__
E restore_signals, start_new_session)
E File "/usr/lib64/python3.5/subprocess.py", line 1544, in _execute_child
E raise child_exception_type(errno_num, err_msg)
E OSError: [Errno 8] Exec format error
/coala/coalib/testing/LocalBearTestHelper.py:25: AssertionError
Same occurs for valid files.
VerilogLintBearTest.test_valid_files
The executable verilator
script looks like this:
$ head /bin/verilator
: # -*-Mode: perl;-*- use perl, wherever it is
eval 'exec perl -wS $0 ${1+"$@"}'
if 0;
...
I rebuild the RPM from source, and it has the same result. Also, all tests pass in the RPM test phase. :/