avast / avast/retdec

Regression test "integration.strlen (strlen.thumb.gcc.O0.g.elf)" fails on macOS

Open
#264 2 comments 0 reactions 0 assignees View on GitHub
bug C-regression-tests O-macos P-output
Dominant language
C++
Stars
8.6k
Forks
1k
PR merge metrics
No merged PRs in 30d

Description

The `integration.strlen.Test_2017 (strlen.thumb.gcc.O0.g.elf)` regression test fails on macOS but succeeds on Linux and Windows.

## Input

Run the following regression test via [our testing framework](https://github.com/avast-tl/retdec-regression-tests-framework):
```
$ runner.py integration.strlen -r 'Test_2017.*strlen.thumb.gcc.O0.g.elf'
```

## Output

The test fails:
```
integration.strlen.Test_2017 (strlen.thumb.gcc.O0.g.elf) [ FAIL ] (5.85s)
F
======================================================================
FAIL: test_produce_expected_output (integration.strlen.Test_2017)
----------------------------------------------------------------------
Traceback (most recent call last):
File "retdec-regression-tests/integration/strlen/test.py", line 12, in test_produce_expected_output
expected_return_code=52
File "retdec-regression-tests-framework/regression_tests/tools/decompiler_test.py", line 86, in assert_c_produces_output_when_run
self.assertEqual(actual_return_code, expected_return_code, msg)
AssertionError: -6 != 52 : where the input was: aaaaaaaaaabbbbbbbbbbbbbbbbccccccccccccccdddddddddddd

----------------------------------------------------------------------
Ran 1 test in 0.214s

FAILED (failures=1)
```

## Expected output

The test should pass:
```
integration.strlen.Test_2017 (strlen.thumb.gcc.O0.g.elf) [ OK ] (5.72s)
```

## Configuration

* Commit: ae9a6d412caf73f1c93c7012a6f799de0cc95cdb (current `master`)
* 64b Arch Linux, GCC 7.3.1, Release build of RetDec
* mac OS 10.13, Apple LLVM version 9.0.0, Release build of RetDec

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by running `runner.py integration.strlen -r 'Test_2017.*strlen.thumb.gcc.O0.g.elf'` on macOS and inspect `integration/strlen/test.py` together with `retdec-regression-tests-framework/regression_tests/tools/decompiler_test.py`. Compare the macOS return code with the expected value of 52; done means the named regression test passes on macOS as it does on Linux and Windows.

Written by the indexing model from the issue text.

Assessment

Tech stack
macos, python
Domain
operating-systems, testing
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.