Commit Graph

36 Commits

Author SHA1 Message Date
Lauri Vasama 4648fe672f Allow commit message ending with backticks 2025-03-19 12:57:14 +02:00
Alessandro Di Federico 143c315196 Merge revng-c into revng 2024-11-21 10:50:55 +01:00
Giacomo Vercesi 8773f3bbd6 mass-testing dump-sections: improve --text-size
Improve text-size detection in the case of PE and Mach-O files. In both
cases if a suitable `.text`-like section is not found then the text size
will be the sum of all segments with an executable flag.
2024-11-13 09:28:12 +01:00
Giacomo Vercesi 023b470473 mass-testing: implement cmd/env overrides
Implement override mechanisms via command-line and/or env for the
following aspects:
* The maximum memory set by `test-harness`
* The timeout handled by `test-harness`
* The number of concurrent jobs to spawn while running `revng mass-testing run`
2024-10-31 08:58:59 +01:00
Giacomo Vercesi 683bcf66d8 Drop revng- prefix from libexec executables
The revng CLI driver no longer uses the `revng-` prefix for executables
under `libexec/revng`.
2024-10-01 20:34:38 +02:00
Giacomo Vercesi 3fe3a8524a Implement mass testing
Add the `revng mass-testing` commands and auxiliary executables which
simplify running revng on a huge quantity of input executables.
2024-10-01 13:38:21 +02:00
Giacomo Vercesi 993f66d59c revng cli: drop revng- prefix from libexec
Drop using the `revng-` prefix from all executables under
`libexec/revng/`. Now any executable found under there that is
executable and without extension will be considered a `revng`
subcommand, following the usual command-line rules.
2024-10-01 13:38:14 +02:00
Alessandro Di Federico a19b53974b check-conventions: adopt dict.fromkeys 2024-08-16 15:21:37 +02:00
Pietro Fezzardi 19d43cde1d Partially re-enable end-to-end tests
End-to-end tests were disabled due to a bug in ModelToHeader that caused
the decompiled C header with the types not to be recompilable in some
cases.

However, the commit that disabled the tests was too aggressive, because
the only part that needed to be disabled was the part of the tests that
actually recompiled the C code.

This commit re-enables the end-to-end tests except for the recompilation
part, that will be re-enabled after the bug in ModelToHeader is fixed.
2024-07-04 02:56:31 +02:00
Alessandro Di Federico 2aa4812ca0 end-to-end.yml: disable check-decompiled-c
This is a temporary change.
2024-06-27 10:13:49 +02:00
Alessandro Di Federico c2da2ba08a revng-check-conventions: ignore empty files 2024-04-18 17:50:31 +02:00
Giacomo Vercesi a376c2b36a rcc: improve non-module files detection
Improve the detection of non-module files in `MyPyPass` to avoid python
scripts being erroneously passed to mypy together, causing the error
`Duplicate module named` in mypy.
2024-03-15 15:30:16 +01:00
Giacomo Vercesi 5978300476 codespell: ignore CSS files 2024-02-09 10:04:24 +01:00
Massimo Fioravanti 95aa074e4c Allow multiple LLVM lit configuration files
revng check branch fails if there are multiple python modules with the
same name. This commit explicitly turns off checks for modules with the
same name as the configuration files of LLVM lit so that more than one
can exists.
2024-02-04 16:52:16 +01:00
Ivan Krysak 5f6003346c Increase licence header search range 2023-07-03 15:23:10 +00:00
Ivan Krysak 0e061aedc4 Make clang-format-style-file a YAML file 2023-07-02 11:06:55 +00:00
Alessandro Di Federico 5273aaa15c check-conventions: handle one line commits 2023-06-30 15:05:27 +02:00
Giacomo Vercesi 52d20ffc36 rcc: add commit check
Add the command-line flag `--check-commit` to `revng-check-conventions`,
this will introduce additional checks related to commits message
conformity.
2023-05-11 10:05:32 +02:00
Alessandro Di Federico 0434249297 rcc: introduce NOLINTNEXTLINE 2023-04-28 14:34:50 +02:00
Giacomo Vercesi cf0921ab31 revng-check-conventions: allow ignoring InitRevng
Add an additional `rcc-ignore` rule to ignore the absence of `InitRevng`
in a `Main.cpp` file
2023-04-20 14:43:11 +02:00
Giacomo Vercesi a06df16b73 rcc: handle empty files gracefully
Fix two corner cases in `revng-check-conventions` where it would error
out when processing an empty file
2023-04-20 14:43:10 +02:00
Pietro Fezzardi b1e357eb36 Forbid use of llvm::GlobalVariables in C backend
With the new backend design we should never need to emit C code for
a llvm::GlobalVariable.
The new backend prints a warning in C if that happens.
This commit adds a check in our recompilation tests to ensure that never
happens.
2023-04-06 14:56:14 +02:00
Giacomo Vercesi 8e05ae5ead rcc: fix report output with multiple rules
The rule output logic was wrongly coded to do `"\n".join` where
appending a newline to each line was the correct behavior.
Also remove a leftover typo in `rcc-config.yml`.
2023-03-13 22:53:44 +01:00
Giacomo Vercesi 1e1d3b4920 rcc: fix off-by-one in line reporting 2023-02-07 16:54:35 +01:00
Alessandro Di Federico 70e4f24d9f revng-check-conventions: fix mypy if no normal_files 2023-01-21 16:46:35 +01:00
Alessandro Di Federico f5fb269468 check-conventions: use first byte as diff opcode 2022-11-28 09:21:42 +01:00
Giacomo Vercesi bf4122ed0a Introduce v2 of revng-check-conventions 2022-09-29 15:21:59 +02:00
Alessandro Di Federico f6d5cd24dd Give pretty names to temporary files 2022-09-26 18:09:01 +02:00
Ivan Krysak 60f6abf0eb Ease conventions to allow lines to start with -> 2022-09-26 10:33:43 +02:00
Giacomo Vercesi c084620ef2 Switch from yarn to npm 2022-09-02 03:49:56 +02:00
Giacomo Vercesi a741e39f76 revng-check-conventions: introduce prettier
Adds the formatting tool prettier to allow formatting JS, TS, JSON,
YAML and HTML files.
2022-06-28 15:29:09 +02:00
Giacomo Vercesi 7a9617547a revng-check-conventions: if no changes, do nothing 2022-06-28 15:28:48 +02:00
Alessandro Di Federico ee95dbba26 check-conventions: update for share/revng 2022-06-21 18:38:21 +02:00
Alessandro Di Federico 0e2b9a0629 check-conventions: don't search in SCRIPT_PATH 2022-06-21 18:36:08 +02:00
Alessandro Di Federico 9ce2828659 Simplify CMake 2022-06-21 10:35:45 +02:00
Alessandro Di Federico f4684e244d Switch to new testsuite 2022-06-20 19:04:18 +02:00