Commit Graph

102 Commits

Author SHA1 Message Date
Jon Haslam
c260586a4e
Fix folly::sorted_vector_set and minor codegen comment change (#63) 2023-02-08 14:34:14 +00:00
Jake Hillion
cb71e69ca5 oilgen: make strong getObjectSize noinline 2023-02-06 15:23:48 +00:00
Jake Hillion
7d000e5d9e oilgen: set object size to 0 before starting 2023-02-06 15:23:48 +00:00
Jake Hillion
72f31639b7 oilgen: add an --exit-code option to fail on noop 2023-02-03 17:26:15 +00:00
Jake Hillion
9cb8fd7a97 add missing virtual destructors 2023-02-03 17:26:04 +00:00
Alastair Robertson
13bbe2e1bb Code coverage: Checkout repo before running
Apparently this is needed for CodeCov.io to work.
2023-02-03 16:52:36 +00:00
Alastair Robertson
397b798235 CI: Add code coverage reporting
Add CODE_COVERAGE option to enable coverage instrumentation in builds.

Add new CI job to upload coverage reports to CodeCov.io.

Reports can be found by navigating the codecov.io UI, or by going to
the URL printed at the end of the "Code Coverage" CI job. More CodeCov
integration could be set up later once we have coverage reporting on the
main branch.
2023-02-03 12:16:56 +00:00
Alastair Robertson
5c5bfd315c OIDebugger: Remove extra "0x" prefix when logging addresses 2023-02-02 16:57:27 +00:00
Alastair Robertson
3468db7b0a CI: Parallelise tests
This reduces the time to run tests from 5-9 minutes down to 3-4 minutes.

`nproc` is returning `1` on the CI node which is processing our
config.yml. In the absense of a better way of getting the number of CPUs
on our executor, just hardcode it.

We actually have 16 cores on our 2xlarge executors, but higher
parallelism in tests appears to cause oid to sometimes fail with SIGILL.
I'm still investigating this problem.
2023-02-02 15:02:39 +00:00
Alastair Robertson
b00958378b CI: Split build and test into separate jobs
This will give us more flexibility later, e.g. allowing different steps
for GCC and Clang (as needed for code coverage), or letting us
parallelise our tests across multiple machines.
2023-02-02 14:21:41 +00:00
Jake Hillion
8956ca5522
oil: switch to using an impl function with no default implementation (#46) 2023-02-02 11:15:11 +00:00
Alastair Robertson
6f786b4348 CI: Output junit result format directly from CTest
Remove the conversion script we were previously using.
2023-02-02 11:00:58 +00:00
Jake Hillion
23026d80ba config: look up paths relative to config file 2023-02-01 14:54:33 +00:00
Jake Hillion
fcaede9e7d oil: make ObjectAddr a const reference 2023-01-31 13:30:58 +00:00
Jake Hillion
ee56decc10 oil: change interface to references 2023-01-31 13:30:58 +00:00
Jake Hillion
499b8c6f74 oil: stub out more of the header in AoT mode 2023-01-31 13:30:58 +00:00
Jay Kamat
01abff9019 Update small vec types to reflect folly update
Folly updated the signature of small vec types here:
c0a4e11b31

I needed to add a new 'using' for policy_size_type, as this is commonly
used with this new template parameter.
2023-01-30 19:01:38 -08:00
Alastair Robertson
9e72ada131 Support dynamic polymorphic inheritance
i.e. classes which contain virtual functions and use a virtual pointer
2023-01-30 13:22:09 +00:00
Alastair Robertson
aef8826a3a Update drgn submodule
Adds support for C++ member functions and virtuality.
2023-01-30 13:22:09 +00:00
Alastair Robertson
ab499f6b83 Polymorphic inheritance tests 2023-01-30 13:22:09 +00:00
Alastair Robertson
949f53b456 Delete old files from test/ 2023-01-27 12:45:35 +00:00
Alastair Robertson
7c1b4c2a43 Integration test readme: Add example of how to run a single test
Also minor cleanup of gen_tests.py
2023-01-26 12:11:21 +00:00
Alastair Robertson
425bb3fc24 Add CMake hook for defining custom build rules 2023-01-26 10:46:53 +00:00
Alastair Robertson
f1d982f0a8 Delete oi_compile
It has been replaced by oilgen and has become a burden to keep
up-to-date with CodeGen changes.
2023-01-23 14:21:46 +00:00
Jon Haslam
885c2ec369
Support std::multimap with comparator template parameter (#33)
Co-authored-by: Jon Haslam <jonhaslam@meta.com>
2023-01-20 16:30:02 +00:00
Jake Hillion
33f51afa36 oilgen: set DRGN_ENABLE_TYPE_ITERATOR 2023-01-19 16:19:22 +00:00
Jay Kamat
f6906b4f36 Add bits to send oid version information to cache build service 2023-01-18 01:01:19 -08:00
Jake Hillion
ece1e579ac reduce typeToNameMap lookups 2023-01-17 16:44:31 +00:00
Jake Hillion
a0d2d46c71 stop over optimising drgn 2023-01-10 11:32:29 +00:00
Jake Hillion
0384d1c144 remove setcap 2023-01-10 11:32:10 +00:00
Jake Hillion
bad14de1e2 add issue references to every skipped test 2023-01-04 17:56:37 +00:00
Jake Hillion
6fc24b444c enable some oil tests on function pointers 2023-01-04 17:56:37 +00:00
Jake Hillion
bd370c8ec1 enable OilIntegration.ignored_a 2023-01-04 17:56:37 +00:00
Jake Hillion
889b19f672 enable oil on top level pointer tests 2023-01-04 17:56:37 +00:00
Jake Hillion
4e07ec125c be more specific about skipped pointers_incomplete tests 2023-01-04 17:56:37 +00:00
Jake Hillion
a6c3d30014 enable void smart pointer present tests
these tests were skipped as they can't record the dynamic size. however,
there isn't a dynamic size to report as the type of the pointer is void.
accept a dynamic size of 0 as it's the best we can do with no type
knowledge.
2023-01-04 17:56:37 +00:00
Jake Hillion
358b4e9505 add oil_disable test option
The `oil_skip` test option was added for tests that don't work under OIL
but do work under OID. However, we now have two classes of `oil_skip`ped
tests: those that could be fixed, and those that will never work.
Increase clarity by not generating the tests which do not make sense at
all, leaving us with a cleaner set of skipped (and fixable) tests.
2023-01-04 17:56:37 +00:00
Jon Haslam
3f2ae5e56f
Codegen review changes (#18)
Co-authored-by: Jon Haslam <jonhaslam@meta.com>
2023-01-04 17:54:07 +00:00
Jake Hillion
1c3ee5bf6b move extern repos to https addresses
The extern repos are currently cloned with SSH. This means that
attempting to clone them on a system that doesn't have an SSH key which
GitHub accepts fails. Change them to HTTPS as they're read only anyway.
2022-12-29 10:32:03 +00:00
Jake Hillion
2dc5479c32 container regex matching 2022-12-21 14:31:05 +00:00
Jake Hillion
abec0dcce6 remove funcgeninternal.h
The container information added by `FuncGenInternal.h` has been made
redundant by the pluggable containers feature. Remove this legacy
difference.
2022-12-21 12:10:00 +00:00
Thierry Treyer
916727546a Update favicon 2022-12-20 10:42:23 -08:00
Jake Hillion
e0b0f14fe9 update to codegen->generate 2022-12-20 18:08:43 +00:00
Jay Kamat
0c42cbf8f2 Actually fix code link to website
For real this time...
2022-12-20 08:56:42 -08:00
Jay Kamat
71553f9e6b Add yarn lock file 2022-12-20 08:40:51 -08:00
Jay Kamat
7412c67bd7 Add website deployment script 2022-12-20 08:40:51 -08:00
Jay Kamat
901dac980d Correct link to code to point to github 2022-12-20 08:26:42 -08:00
Jake Hillion
6c1d31fefe remove ini config parsing 2022-12-20 13:00:09 +00:00
Jay Kamat
420743097d Update suse instructions with non-static build args 2022-12-19 14:01:22 -08:00
Jon Haslam
5e9ad92def
favicon and minor things (#3) 2022-12-19 17:21:16 +00:00