Giacomo Vercesi
a746d5afc3
mass-testing-report: fix bugged formatTime
...
The `formatTime` function was bugged, returning invalidly formatted
strings when the second components was less than 10. Rework it to emit
proper formatting.
2026-03-31 17:00:48 +02:00
Giacomo Vercesi
1bcd1ef920
mass-testing-report: names for binaries
...
Instead of having all the binaries in the mass-testing-report be
downloaded with the name `input`, have them use a meaningful name
instead.
2025-12-12 15:46:49 +01:00
Ivan Krysak
cc57e57fd1
TTG: remove support for optional: true fields
...
After this commit, every non-key field is treated as if it was optional
while every key field (plus every auto-generated `Kind` field) - as if
it was required.
2025-10-13 18:33:10 +03:00
Giacomo Vercesi
5f714f9f00
tuple_tree.ts: add toString to Reference
...
Add the `toString` method to the `Reference` class. This is needed to
allow `makeDiff` to function correctly if it encounters an instanced of
the class.
2025-09-08 17:36:12 +02:00
Khaled Ismaeel
4a56c313db
Process enums separately in diff
...
Before this commit the logic was recursing upon finding
enums, which leads to incorrect behavior where `infoObject` is
`undefined`.
2025-06-25 15:40:40 +02:00
Giacomo Vercesi
6b7af19817
tuple_tree.ts: rename TypeHints to TypesMetadata
...
Rename the `TypeHints` to `TypesMetadata` (and related function
arguments) to better convey their contents.
2025-05-07 10:47:27 +02:00
Giacomo Vercesi
80ad54cc1d
CMake: fix dependencies in typescript_module
...
The `typescript_module` function did not declare all its files
dependencies, leading to build errors. Add those dependencies to the
`DEPENDS` field.
2025-05-07 10:47:27 +02:00
Jurij Srebrnič
c9731dc722
tuple_tree.ts: remove dead code in _applyDiff
...
Remove a branch from `_applyDiff` as the conditions for it to happen are
impossible.
2025-05-07 10:47:27 +02:00
Giacomo Vercesi
faf448f320
mass-testing-report: fix incorrect duration
...
Fix missing padding zeros when displaying the runtime of an execution.
2025-05-05 16:02:40 +02:00
Giacomo Vercesi
140735a913
tuple-tree-generate-typescript: drop --prettier
...
The `prettier` binary is now assumed to be installed as part of the
system. No need to manually install it and use the `--prettier`
command-line option.
2025-03-13 14:06:02 +01:00
Giacomo Vercesi
5e386d2a8d
model.ts: disable key sorting
...
Disable sorting of model keys, as that worsens the readability of the
model.
2025-02-05 10:38:16 +01:00
Giacomo Vercesi
7a01742421
mass-testing: show smallest binaries
...
Show on the overview page of mass-testing the smallest binary for OOMs
and timeouts, as these are probably show an early sign of some broken
aspect of the pipeline.
2024-11-13 09:28:12 +01:00
Giacomo Vercesi
f0a5a48c8e
mass-testing: generate crash graphs for OOMs
...
Add graph/crash statistics generation for the OOM category as well.
2024-10-31 08:58:59 +01:00
Giacomo Vercesi
1cbd01804c
mass-testing-report: handle empty crash stats
...
When generating crash statistics, handle the case where there are no
statistics for the specified category.
2024-10-31 08:58:59 +01: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
Ivan Krysak
dfa7478685
Adopt reworked model::Type
2024-06-27 11:05:51 +02:00
Ivan Krysak
edb2d11c9a
TTG: add upcastable struct field support
2024-06-27 11:05:49 +02:00
Ivan Krysak
ac587cbb4f
Model: rename Type into TypeDefinition
2024-06-27 11:05:48 +02:00
Alessandro Di Federico
c6fa8f77ee
Fix typescript wrappers being rebuild every build
2024-02-09 10:04:26 +01:00
Giacomo Vercesi
293c0c9e25
tupletree.ts: Reference.resolve is now nullable
...
Allow `Reference.resolve` to return undefined if the reference's path
does not exist on the target object.
2024-01-26 19:13:58 +01:00
Giacomo Vercesi
bc7cde4cf7
tuple_tree.ts: fix diffing for abstract types
...
The previous `makeDiff` implementation did account nor have enough
information to be able to upcast abstract types. This commit introduces
the necessary information for this to happen.
2023-11-03 16:30:40 +01:00
Giacomo Vercesi
2a239ddf47
Introduce PipelineDescription
...
Add the PipelineDescription object that describes the structure of a
pipeline. This will be used by all the downstream users instead of
pipeline accessor methods via PipelineC.
2023-09-14 15:44:33 +02:00
Giacomo Vercesi
27c065a54b
model.ts: implement makeDiff speedups
...
Make `makeDiff` run faster by:
* Utilizing the information exposed by TYPE_HINTS which avoids having
expensive runtime checks
* Optimize some of the hot parts of the codebase to lower run times
2023-07-21 13:19:04 +02:00
Giacomo Vercesi
3a006422d3
typescript/python model wrappers: fix structure
...
Change the way the python and typescript model wrappers handle
attributes in struct fields. Now all fields are populated and none of
the use `None`.
2023-07-21 09:34:00 +02:00
Giacomo Vercesi
406a21360a
model.ts: add offset support to MetaAddress
...
Allow the `MetaAddress` class in typescript to independently compute the
offset to another MetaAddress.
2023-07-21 09:34:00 +02:00
Giacomo Vercesi
31cd2b53f9
rcc: add codespell
...
Add codespell to the list of checks performed by
revng-check-conventions. This should reduce the amount of typos present
in the revng codebase.
2023-05-11 10:05:32 +02:00
Giacomo Vercesi
fcc0d2176c
model.ts: format with new prettier
...
Apply the formatting changes imposed by the updated prettier version.
2023-05-08 16:03:03 +02:00
Alessandro Di Federico
564843165b
tuple_tree.ts: refine ParsableType interface
...
Fixes an issue that was detected in recent typescript versions where the
`Parsable` interface was not fully defined.
2023-04-28 09:56:06 +02:00
Giacomo Vercesi
31bb77237f
typescript: add setElementByPath function
...
add the setElementByPath function which allows setting a value in a
tuple tree give a tuple tree path to apply it to
Also apply some small fixes to the `tuple_tree.ts` codebase
2023-02-07 16:54:35 +01:00
Alessandro Di Federico
5de242c08f
model.ts.tgz: do not generate at every build
2022-12-09 14:01:10 +01:00
Giacomo Vercesi
579cd2c558
npm: handle global install in lib64
...
Some distributions change the LIBDIR for global installation to lib64,
account for that when installing the model in CMAKE_BINARY_DIR
2022-10-24 14:27:52 +02:00
Giacomo Vercesi
d36fddc71e
revng-model: install in global mode
...
Install revng-model in global mode, so it is consistent with the
other installed packages
2022-10-24 09:58:55 +02:00
Giacomo Vercesi
c084620ef2
Switch from yarn to npm
2022-09-02 03:49:56 +02:00
Alessandro Di Federico
ebc9a41044
CMake: fix regeneration of TypeScript code
...
In `add_custom_command` is one of the entries of `DEPENDS` is not a file
(i.e., it's a custom command), the dependency is only an ordering
dependency. This means that the command is not actually re-run when its
dependencies are invalidated.
2022-08-11 11:16:04 +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
4219f236cf
Generate model.ts.tgz installable package
2022-05-09 13:38:42 +02:00
Giacomo Vercesi
a4ca82b50b
Introduce TypeScript model generator
2022-05-09 13:37:35 +02:00
Giacomo Vercesi
4468cedbf1
CMake: generate node_modules
2022-05-09 13:37:03 +02:00