Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
tyroguru committed Dec 19, 2022
0 parents commit db90326
Show file tree
Hide file tree
Showing 251 changed files with 44,070 additions and 0 deletions.
123 changes: 123 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
version: 2.1

workflows:
build-test:
jobs:
- lint
- build-test:
name: build-test-gcc
cc: /usr/bin/gcc
cxx: /usr/bin/g++
- build-test:
name: build-test-clang
cc: /usr/bin/clang-12
cxx: /usr/bin/clang++-12

jobs:
lint:
docker:
- image: ubuntu:jammy
steps:
- run:
name: Install dependencies
command: |
apt-get update
apt-get install -y \
clang-format \
git \
python3-pip
# click broke semver with 8.1.0, causing issues for black
pip install click==8.0.0 black isort
- checkout
- run:
name: clang-format
command: |
git ls-files '*.cpp' '*.h' | xargs clang-format --fallback-style=Google -i
git ls-files '*.py' | xargs black
git ls-files '*.py' | xargs isort
git diff --exit-code
- run:
name: python linting
command: |
black --check --diff test/
isort --check --diff test/
build-test:
machine:
image: ubuntu-2204:2022.10.2
resource_class: 2xlarge
parameters:
cc:
type: string
cxx:
type: string
environment:
CC: << parameters.cc >>
CXX: << parameters.cxx >>
steps:
- checkout
- run:
name: Install dependencies
command: |
sudo rm -f /etc/apt/sources.list.d/heroku.list
sudo apt-get update
sudo apt-get install -y \
bison \
build-essential \
clang-12 \
cmake \
flex \
gawk \
libboost-all-dev \
libbz2-dev \
libcap2-bin \
libclang-12-dev \
libcurl4-gnutls-dev \
libdouble-conversion-dev \
libdw-dev \
libfmt-dev \
libgflags-dev \
libgmock-dev \
libgoogle-glog-dev \
libgtest-dev \
libjemalloc-dev \
libmsgpack-dev \
libzstd-dev \
llvm-12-dev \
ninja-build \
pkg-config \
python3-setuptools \
sudo \
xsltproc
pip3 install toml
environment:
DEBIAN_FRONTEND: noninteractive

- run:
name: Build
command: |
cmake -G Ninja -B build/ -DWITH_TESTS=On
cmake --build build/ -j
- run:
name: Test
environment:
# disable drgn multithreading as tests are already run in parallel
OMP_NUM_THREADS: 1
command: |
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
cp test/ci.oid.toml build/testing.oid.toml
ctest --test-dir build/test/ --test-action Test -j$(nproc) \
--no-compress-output --output-on-failure \
--exclude-regex 'TestTypes\/ComparativeTest\..*' \
--schedule-random --timeout 30 --repeat until-pass:2
- run:
name: Convert test results
when: always
command: |
mkdir -p build/results/ctest
bash test/convert_to_junit.sh build/test
- store_test_results:
path: build/results
8 changes: 8 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
Language: Cpp
BasedOnStyle: Google
AllowShortBlocksOnASingleLine: false
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: false
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
31 changes: 31 additions & 0 deletions .clang-tidy
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
Checks: >
-*,
bugprone*,
readability*,
cppcoreguidelines*,
clang-analyzer*,
performance*,
-cppcoreguidelines-pro-type-union-access,
-cppcoreguidelines-pro-type-vararg,
-cppcoreguidelines-avoid-non-const-global-variables,
-cppcoreguidelines-pro-bounds-pointer-arithmetic,
-readability-function-cognitive-complexity

CheckOptions:
- { key: readability-identifier-naming.NamespaceCase, value: lower_case }
- { key: readability-identifier-naming.ClassCase, value: CamelCase }
- { key: readability-identifier-naming.StructCase, value: CamelCase }
- { key: readability-identifier-naming.TemplateParameterCase, value: CamelCase }
- { key: readability-identifier-naming.FunctionCase, value: camelBack }
- { key: readability-identifier-naming.VariableCase, value: camelBack }
- { key: readability-identifier-naming.ClassMemberCase, value: camelBack }
- { key: readability-identifier-naming.ClassMemberCase, value: camelBack }
- { key: readability-identifier-naming.PrivateMemberCase, value: camelBack }
- { key: readability-identifier-naming.ProtectedMemberCase, value: camelBack }
- { key: readability-identifier-naming.EnumConstantCase, value: camelBack }
- { key: readability-identifier-naming.ConstexprVariableCase, value: camelBack }
- { key: readability-identifier-naming.GlobalConstantCase, value: camelBack }
- { key: readability-identifier-naming.MemberConstantCase, value: CamelCase }
- { key: readability-identifier-naming.StaticConstantCase, value: camelBack }
- { key: readability-implicit-bool-conversion.AllowIntegerConditions, value: 1 }
- { key: readability-implicit-bool-conversion.AllowPointerConditions, value: 1 }
14 changes: 14 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
[*]
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
charset = utf-8
indent_style = space
indent_size = 2

[*.py]
indent_size = 4
indent_style = space

[{makefile, Makefile}*]
indent_style = tab
2 changes: 2 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
a52e90c0419d7da0fe65cb758d2ed10024ec7b2e
06604fd12398b7d1b0563350ea48382555a51840
7 changes: 7 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
## Summary
Describe what your change accomplishes

## Test plan
Check that OI is working correctly, you can add some unit or integration test,
paste the output of some manual test, and / or paste the output of running
the test locally with `make test-static`
30 changes: 30 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
## OI specific
build/
test.o
test/tester
test/mttest?
test/mttest2_inline
test/integration_mttest
test/integration_cycles
test/integration_sleepy
test/integration_packed
test/mapiter
test/userDef1
test/vector
test/inlined_test
test/.autogen-*
oi_preprocessed
*_test.oid
oid_out.json
compile_commands.json
oid_metrics.json
Testing
*.o
PADDING
failed
fb_*_wrapper.sh
website/node_modules

## Vim
*.swp
*.swo
9 changes: 9 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
[submodule "extern/drgn"]
path = extern/drgn
url = [email protected]:JakeHillion/drgn.git
[submodule "extern/folly"]
path = extern/folly
url = [email protected]:jgkamat/folly.git
[submodule "extern/rocksdb"]
path = extern/rocksdb
url = [email protected]:facebook/rocksdb.git
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

Loading

0 comments on commit db90326

Please sign in to comment.