Skip to content

Commit

Permalink
Base type encoding (#33)
Browse files Browse the repository at this point in the history
* -Write macro records correctly. Fixes #7

* -Cleanup

* -Update unit testing for draco patterns. WIP.

* -Update eclipse project

* -Minimally functional target_symbol

* -Do not store row id for symbol target updates

* -Update github CI

* -Docker config for CI

* -Point submodules to github

* -Cleanup

* -Add symbols and encoding mappings. WIP.

* -Add symbols and encoding mappings. WIP.

* Writer DWARF5 ecodings to encodings table

* -Add minimally functional encodings implementation.
-TODO:Cleanup.

* -Update Makefile

* -Update gitignore

* -Cleanup

* -Remove Ubuntu18 from github actions since it is not available anymore.
-https://github.blog/changelog/2022-08-09-github-actions-the-ubuntu-18-04-actions-runner-image-is-being-deprecated-and-will-be-removed-by-12-1-22/

* -Remove dead code

* -Cleanup

* -Cleanup

* -Cleanup

* -Include unit test code in format checks.
-Format unit test code.

* -Update unit tests

* -Configure coveralls.io for CI

* -Configure coveralls.io for CI

* -Configure coveralls.io for CI

* -Configure coveralls.io for CI

* -Configure coveralls.io for CI

* -Configure coveralls.io for CI

* -Configure coveralls.io for CI

* -Configure coveralls.io for CI

* -Update docs

* -Update unit tests for new schema. WIP.
-TODO:Add function to follow target symbols to test typdef'd types.
-TODO:Add unit tests for new macro and elf image features.

* -Add followTargetSymbol. Useful for testing typedef'd types.
-Update unit tests.

* -Use CFE_ES_HousekeepingTlm_Payload for unit testing.

* -Update docs

* -Update docs

* -Extract ELF image data from 64-bit targets properly.
-Add ElfClass to ElfFile

* -Update docs

* -Update unit-test test files

* -Remove libdwarf from unit test code test file

* -Remove dead code

* -Remove dead code

* -Add 32-bit make recipes.
-Add 32-bit unit tests.

* -Update 32-bit unit testing.

* -Update docs

* -Remove dead code

* -Update Logger unit tests
-Remove dead code

* -Update unit tests

* -Update docs

* -Cleanup

* -Cleanup

* -Cleanup

* -Add macro unit test.
-Update Dockerfile

* -Create test files that comply with DWARF4 and DWARF5. Allows us to verify support of DWARF4 as more features are added in the future.

* -Unit test DWARF4 and DWARF5. WIP.

* -Add DWARF4 testing to Dockerfile

* -Cleanup

* -Update docs

* -Update docs

* -Update Catch 2 due to issue on Ubuntu22:catchorg/Catch2#2178

* -pathIndex handling for DWARF5. TODO:This changes for DWARF4, so add alternative for DWARF4.
-Remove DisplayDie function for now as it blows up the stack with big c++ names inside DWARF.
-TODO:Rewrite DisplayDie function
-Add include to src/Artifact.h, needed for Ubuntu22.

* -Handle DWARF dbg source files for DWARF4 and 5.
-TODO:Figure out what to do about Ubuntu 20/22 behavior producing different DWARF src file line number info for the same DWARF version.

* -Add group number as CLI argument. WIP.
-Issues of interest:#36, #35

* -Group number argument. Useful for getting DWARF data from multiple COMBAT sections, like macros inside of unlinked ELF files.

* -Add unit tests for macros across multiple COMDAT groups.

* -Cleanup

* -Update docs

* -Update unit tests.

* -Update Dockerfile for Ubuntu22

* -Update CI

* -Update Dockerfiles for Ubuntu20 and Ubuntu22

* -Update Makefile

* -Update CI

* -Update CI

* -Test DWARF version in unit tests

* -Update docs

* -Update docs

* -Update docs

* -Update docs. WIP.

* -Update docs

* -Cleanup

* -Cleanup

* -Update docs.
-Remove DECL code from pointer types. Pointer types do not have DECL coords.

* -Add unit tests for artifacts

* -Cleanup

* -Update test_file1

* -Remove dead code

* -Update tests in Docker files

* -Update docs

* -Update docs

* -Update docs

* -Update unit tests

* -Fix Field constructors

* -Minimal testing for bitfields. WIP.

* -Update Docker files
-Update Makefile

* -Add Ubuntu18 to CI.
-Update docs

* -Update docs

* -Update docs

* -Update docs

* -Update docs

* -Update clang_format_all

* -Add format checks to Dockerfile.ubuntu20

* -Update clang_format_all

* -Format code

* -Cleanup

* -Add error-checking for groupNumber

* -Push coveralls report

* -Update docs

* -Update CI

---------

Co-authored-by: Mathew Benson <[email protected]>
  • Loading branch information
lorenzo-gomez-windhover and mbenson1 authored Sep 19, 2024
1 parent 58aa367 commit 282a1af
Show file tree
Hide file tree
Showing 66 changed files with 6,621 additions and 3,252 deletions.
146 changes: 32 additions & 114 deletions .cproject

Large diffs are not rendered by default.

48 changes: 28 additions & 20 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,27 +12,35 @@ jobs:
runs-on: ${{matrix.os}}
strategy:
matrix:
os: [ubuntu-18.04, ubuntu-latest]
os: [ubuntu-latest]
steps:
- uses: actions/checkout@v2
- name: Install Python 3
uses: actions/setup-python@v1
with:
python-version: 3.6
- name: Install dependencies
run: |
pip install cpp-coveralls==0.4.2
sudo apt-get install libdwarf-dev
sudo apt-get install libelf-dev
sudo apt-get install libsqlite3-dev
sudo apt-get install g++
sudo apt-get install gcovr
- name: Checkout submodules
run: git submodule update --init --recursive
- name: Run tests
run: make coverage
#- name: publish to coveralls.io
#uses: coverallsapp/[email protected]
#with:
# github-token: ${{ github.token }}
submodules: true # Clone submodules
fetch-depth: 0 # Ensure full repository history is fetched

# Set up Docker Buildx (optional, useful for multi-platform builds)
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

# Build the Docker image
# - name: Build Docker image
# uses: docker/build-push-action@v5
# with:
# context: .
# push: false # Do not push the image
# tags: juicer:latest # Local tag for the built image

- name: Build Docker image For Ubuntu22
run: docker build --no-cache -t juicer:latest -f Dockerfile.ubuntu22 .

- name: Build Docker image For Ubuntu20
run: docker build --no-cache -t juicer:latest -f Dockerfile.ubuntu20 .
- name: Copy coverage report to host
run: docker image ls && img_id=$(docker create juicer:latest) && docker cp $img_id:/home/docker/juicer/coverage.gcov .
- name: publish to coveralls.io
run: wget https://github.com/coverallsapp/coverage-reporter/releases/download/v0.6.14/coveralls-linux && chmod a+x ./coveralls-linux && COVERALLS_REPO_TOKEN=${{ secrets.COVERALLS_REPO_TOKEN }} ./coveralls-linux

- name: Build Docker image For Ubuntu18
run: docker build --no-cache -t juicer:latest -f Dockerfile.ubuntu18 .

1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
build
*autosave
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[submodule "Catch2"]
path = Catch2
url = git@penguin.windhoverlabs.lan:airliner/catch2.git
url = git@github.com:WindhoverLabs/Catch2.git
30 changes: 3 additions & 27 deletions .settings/language.settings.xml
Original file line number Diff line number Diff line change
@@ -1,35 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project>
<configuration id="cdt.managedbuild.toolchain.gnu.base.53552615" name="Default">
<configuration id="cdt.managedbuild.toolchain.gnu.base.468525986" name="Default">
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider class="org.eclipse.cdt.core.language.settings.providers.LanguageSettingsGenericProvider" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider" name="CDT User Setting Entries" prefer-non-shared="true"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider copy-of="extension" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser"/>
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="-191371811346603331" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
</extension>
</configuration>
<configuration id="cdt.managedbuild.toolchain.gnu.base.53552615.189983013" name="Test">
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider copy-of="extension" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser"/>
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="-191371811346603331" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
</extension>
</configuration>
<configuration id="cdt.managedbuild.toolchain.gnu.base.53552615.265953179" name="run-test">
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider copy-of="extension" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser"/>
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="-191371811346603331" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="1786210549053187963" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>
Expand Down
6 changes: 6 additions & 0 deletions .settings/org.eclipse.cdt.core.prefs
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
doxygen/doxygen_new_line_after_brief=true
doxygen/doxygen_use_brief_tag=false
doxygen/doxygen_use_javadoc_tags=true
doxygen/doxygen_use_pre_tag=false
doxygen/doxygen_use_structural_commands=false
eclipse.preferences.version=1
2 changes: 1 addition & 1 deletion Catch2
Submodule Catch2 updated 74 files
+9 −13 .travis.yml
+11 −4 BUILD.bazel
+3 −0 CMake/catch2.pc.in
+39 −13 CMakeLists.txt
+4 −4 README.md
+1 −1 codecov.yml
+1 −1 conanfile.py
+33 −2 contrib/Catch.cmake
+55 −1 contrib/CatchAddTests.cmake
+35 −8 contrib/ParseAndAddCatchTests.cmake
+54 −2 docs/cmake-integration.md
+3 −3 docs/contributing.md
+7 −0 docs/deprecations.md
+3 −3 docs/generators.md
+14 −0 docs/limitations.md
+3 −0 docs/opensource-users.md
+1 −1 docs/other-macros.md
+139 −2 docs/release-notes.md
+34 −0 docs/slow-compiles.md
+1 −1 docs/tutorial.md
+1 −1 examples/302-Gen-Table.cpp
+16 −16 include/catch.hpp
+1 −3 include/internal/benchmark/catch_constructor.hpp
+1 −0 include/internal/benchmark/catch_execution_plan.hpp
+3 −1 include/internal/benchmark/detail/catch_estimate_clock.hpp
+1 −1 include/internal/benchmark/detail/catch_run_for_at_least.hpp
+2 −2 include/internal/benchmark/detail/catch_stats.cpp
+2 −2 include/internal/benchmark/detail/catch_stats.hpp
+1 −1 include/internal/catch_approx.h
+14 −21 include/internal/catch_compiler_capabilities.h
+44 −0 include/internal/catch_config_uncaught_exceptions.hpp
+1 −1 include/internal/catch_debugger.h
+10 −2 include/internal/catch_default_main.hpp
+1 −1 include/internal/catch_enum_values_registry.cpp
+139 −71 include/internal/catch_fatal_condition.cpp
+42 −43 include/internal/catch_fatal_condition.h
+6 −1 include/internal/catch_generators_generic.hpp
+2 −0 include/internal/catch_interfaces_reporter.h
+2 −2 include/internal/catch_matchers_floating.cpp
+1 −1 include/internal/catch_output_redirect.cpp
+9 −6 include/internal/catch_platform.h
+48 −9 include/internal/catch_run_context.cpp
+1 −0 include/internal/catch_run_context.h
+5 −1 include/internal/catch_session.cpp
+18 −14 include/internal/catch_test_case_registry_impl.cpp
+8 −0 include/internal/catch_test_case_tracker.cpp
+4 −0 include/internal/catch_test_case_tracker.h
+34 −34 include/internal/catch_test_registry.h
+2 −2 include/internal/catch_tostring.h
+2 −0 include/internal/catch_uncaught_exceptions.cpp
+1 −1 include/internal/catch_version.cpp
+28 −9 include/reporters/catch_reporter_junit.cpp
+4 −3 include/reporters/catch_reporter_junit.h
+29 −1 projects/CMakeLists.txt
+1 −0 projects/ExtraTests/X01-PrefixedMacros.cpp
+4 −0 projects/ExtraTests/X02-DisabledMacros.cpp
+6 −0 projects/SelfTest/Baselines/compact.sw.approved.txt
+42 −2 projects/SelfTest/Baselines/console.std.approved.txt
+56 −2 projects/SelfTest/Baselines/console.sw.approved.txt
+35 −1 projects/SelfTest/Baselines/junit.sw.approved.txt
+25 −0 projects/SelfTest/Baselines/sonarqube.sw.approved.txt
+61 −5 projects/SelfTest/Baselines/xml.sw.approved.txt
+3 −0 projects/SelfTest/IntrospectiveTests/GeneratorsImpl.tests.cpp
+11 −0 projects/SelfTest/IntrospectiveTests/ToString.tests.cpp
+7 −0 projects/SelfTest/UsageTests/Approx.tests.cpp
+14 −1 projects/SelfTest/UsageTests/Condition.tests.cpp
+9 −11 projects/SelfTest/UsageTests/Generators.tests.cpp
+4 −2 projects/SelfTest/UsageTests/Matchers.tests.cpp
+16 −0 projects/SelfTest/UsageTests/Message.tests.cpp
+25 −0 projects/SelfTest/UsageTests/Tricky.tests.cpp
+5 −2 scripts/approvalTests.py
+11 −9 scripts/releaseCommon.py
+451 −274 single_include/catch2/catch.hpp
+2 −0 src/catch_with_main.cpp
24 changes: 20 additions & 4 deletions Dockerfile → Dockerfile.ubuntu18
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:20.04
FROM ubuntu:18.04
RUN apt update
ARG DEBIAN_FRONTEND=noninteractive
ENV TERM xterm-256color
Expand All @@ -13,12 +13,18 @@ RUN apt-get install -y libelf-dev
RUN apt-get install -y libsqlite3-dev
RUN apt-get install -y libssl-dev
RUN apt-get install -y doxygen
RUN apt-get install -y gcovr

RUN mkdir /home/docker
COPY . /home/docker/juicer


RUN cd /home/docker/juicer && make clean
RUN cd /home/docker/juicer && make docs

RUN cd /home/docker/juicer && make
RUN cd /home/docker/juicer && make clean
RUN cd /home/docker/juicer && make build-tests
RUN cd /home/docker/juicer && make all
WORKDIR /home/docker/juicer/build
RUN ./juicer-ut "[Enumeration]"
RUN ./juicer-ut "[main_test#1]"
Expand All @@ -29,11 +35,21 @@ RUN ./juicer-ut "[main_test#5]"
RUN ./juicer-ut "[main_test#6]"
RUN ./juicer-ut "[main_test#7]"
RUN ./juicer-ut "[main_test#8]"
RUN ./juicer-ut "[main_test#9]"
RUN ./juicer-ut "[main_test#10]"
RUN ./juicer-ut "[main_test#11]"
RUN ./juicer-ut "[main_test#12]"
RUN ./juicer-ut "[main_test#13]"
RUN ./juicer-ut "[main_test#14]"
RUN ./juicer-ut "[main_test#15]"
RUN ./juicer-ut "[main_test#16]"
RUN ./juicer-ut "[main_test#17]"
RUN ./juicer-ut "[main_test#18]"
RUN ./juicer-ut "[main_test#19]"
RUN ./juicer-ut "[main_test#20]"
RUN ./juicer-ut "[Module]"
RUN ./juicer-ut "[Symbol]"

RUN cd /home/docker/juicer && make clean
RUN cd /home/docker/juicer && make docs



22 changes: 22 additions & 0 deletions Dockerfile.ubuntu18.dev
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
FROM ubuntu:18.04
RUN apt update
ARG DEBIAN_FRONTEND=noninteractive
ENV TERM xterm-256color
RUN apt-get update && \
apt-get -y install sudo

RUN apt-get install -y gcc-multilib
RUN apt-get install -y g++-multilib
RUN apt-get install -y libdwarf-dev
RUN apt-get install -y make
RUN apt-get install -y libelf-dev
RUN apt-get install -y libsqlite3-dev
RUN apt-get install -y libssl-dev
RUN apt-get install -y doxygen
RUN apt-get install -y gcovr

RUN mkdir /home/docker
RUN mkdir /home/docker/juicer
WORKDIR /home/docker/juicer


71 changes: 71 additions & 0 deletions Dockerfile.ubuntu20
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
FROM ubuntu:20.04
RUN apt update
ARG DEBIAN_FRONTEND=noninteractive
ENV TERM xterm-256color
RUN apt-get update && \
apt-get -y install sudo

RUN apt-get install -y gcc-multilib
RUN apt-get install -y g++-multilib
RUN apt-get install -y libdwarf-dev
RUN apt-get install -y make
RUN apt-get install -y libelf-dev
RUN apt-get install -y libsqlite3-dev
RUN apt-get install -y libssl-dev
RUN apt-get install -y doxygen
RUN apt-get install -y gcovr



RUN apt-get install -y gnupg2
RUN apt-get install -y software-properties-common
RUN apt-get install -y python3-pip
RUN pip3 install PyYAML

RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 15CF4D18AF4F7421
RUN add-apt-repository 'deb http://apt.llvm.org/focal/ llvm-toolchain-focal main'
RUN apt-get install -y clang-format

RUN mkdir /home/docker
COPY . /home/docker/juicer


RUN cd /home/docker/juicer && make check-format

RUN cd /home/docker/juicer && make clean
RUN cd /home/docker/juicer && make docs

RUN cd /home/docker/juicer && make
RUN cd /home/docker/juicer && make clean
RUN cd /home/docker/juicer && make all
WORKDIR /home/docker/juicer/build
RUN ./juicer-ut "[Enumeration]"
RUN ./juicer-ut "[main_test#1]"
RUN ./juicer-ut "[main_test#2]"
RUN ./juicer-ut "[main_test#3]"
RUN ./juicer-ut "[main_test#4]"
RUN ./juicer-ut "[main_test#5]"
RUN ./juicer-ut "[main_test#6]"
RUN ./juicer-ut "[main_test#7]"
RUN ./juicer-ut "[main_test#8]"
RUN ./juicer-ut "[main_test#9]"
RUN ./juicer-ut "[main_test#10]"
RUN ./juicer-ut "[main_test#11]"
RUN ./juicer-ut "[main_test#12]"
RUN ./juicer-ut "[main_test#13]"
RUN ./juicer-ut "[main_test#14]"
RUN ./juicer-ut "[main_test#15]"
RUN ./juicer-ut "[main_test#16]"
RUN ./juicer-ut "[main_test#17]"
RUN ./juicer-ut "[main_test#18]"
RUN ./juicer-ut "[main_test#19]"
RUN ./juicer-ut "[main_test#20]"
RUN ./juicer-ut "[Module]"
RUN ./juicer-ut "[Symbol]"

RUN cd /home/docker/juicer && make coverage
#Useful for CI
RUN cd /home/docker/juicer && gcovr --filter /home/docker/juicer/src/ --object-directory /home/docker/juicer/build/ut_obj/ --xml coverage.gcov



29 changes: 29 additions & 0 deletions Dockerfile.ubuntu20.dev
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
FROM ubuntu:20.04
RUN apt update
ARG DEBIAN_FRONTEND=noninteractive
ENV TERM xterm-256color
RUN apt-get update && \
apt-get -y install sudo

RUN apt-get install -y gcc-multilib
RUN apt-get install -y g++-multilib
RUN apt-get install -y libdwarf-dev
RUN apt-get install -y make
RUN apt-get install -y libelf-dev
RUN apt-get install -y libsqlite3-dev
RUN apt-get install -y libssl-dev
RUN apt-get install -y doxygen
RUN apt-get install -y gdb
RUN apt-get install -y gcovr
RUN apt-get install -y gnupg2
RUN apt-get install -y software-properties-common
RUN apt-get install -y python3-pip
RUN pip3 install PyYAML

RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 15CF4D18AF4F7421
RUN add-apt-repository 'deb http://apt.llvm.org/focal/ llvm-toolchain-focal main'
RUN apt-get install -y clang-format

RUN mkdir /home/docker
RUN mkdir /home/docker/juicer
WORKDIR /home/docker/juicer
58 changes: 58 additions & 0 deletions Dockerfile.ubuntu22
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
FROM ubuntu:22.04
RUN apt update
ARG DEBIAN_FRONTEND=noninteractive
ENV TERM xterm-256color
RUN apt-get update && \
apt-get -y install sudo

RUN apt-get install -y gcc-multilib
RUN apt-get install -y g++-multilib
RUN apt-get install -y libdwarf-dev
RUN apt-get install -y make
RUN apt-get install -y libelf-dev
RUN apt-get install -y libsqlite3-dev
RUN apt-get install -y libssl-dev
RUN apt-get install -y doxygen
RUN apt-get install -y gcovr

RUN mkdir /home/docker
COPY . /home/docker/juicer


RUN cd /home/docker/juicer && make clean
RUN cd /home/docker/juicer && make docs

RUN cd /home/docker/juicer && make
RUN cd /home/docker/juicer && make clean
RUN cd /home/docker/juicer && make all
WORKDIR /home/docker/juicer/build
RUN ./juicer-ut "[Enumeration]"
RUN ./juicer-ut "[main_test#1]"
RUN ./juicer-ut "[main_test#2]"
RUN ./juicer-ut "[main_test#3]"
RUN ./juicer-ut "[main_test#4]"
RUN ./juicer-ut "[main_test#5]"
RUN ./juicer-ut "[main_test#6]"
RUN ./juicer-ut "[main_test#7]"
RUN ./juicer-ut "[main_test#8]"
RUN ./juicer-ut "[main_test#9]"
RUN ./juicer-ut "[main_test#10]"
RUN ./juicer-ut "[main_test#11]"
RUN ./juicer-ut "[main_test#12]"
RUN ./juicer-ut "[main_test#13]"
RUN ./juicer-ut "[main_test#14]"
RUN ./juicer-ut "[main_test#15]"
RUN ./juicer-ut "[main_test#16]"
RUN ./juicer-ut "[main_test#17]"
RUN ./juicer-ut "[main_test#18]"
RUN ./juicer-ut "[main_test#19]"
RUN ./juicer-ut "[main_test#20]"
RUN ./juicer-ut "[Module]"
RUN ./juicer-ut "[Symbol]"

RUN cd /home/docker/juicer && make coverage
#Useful for CI
RUN cd /home/docker/juicer && gcovr --filter /home/docker/juicer/src/ --object-directory /home/docker/juicer/build/ut_obj/ --xml coverage.gcov



21 changes: 21 additions & 0 deletions Dockerfile.ubuntu22.dev
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
FROM ubuntu:22.04
RUN apt update
ARG DEBIAN_FRONTEND=noninteractive
ENV TERM xterm-256color
RUN apt-get update && \
apt-get -y install sudo

RUN apt-get install -y gcc-multilib
RUN apt-get install -y g++-multilib
RUN apt-get install -y libdwarf-dev
RUN apt-get install -y make
RUN apt-get install -y libelf-dev
RUN apt-get install -y libsqlite3-dev
RUN apt-get install -y libssl-dev
RUN apt-get install -y doxygen
RUN apt-get install -y gdb
RUN apt-get install -y gcovr

RUN mkdir /home/docker
RUN mkdir /home/docker/juicer
WORKDIR /home/docker/juicer
Binary file added Images/bit_packed_struct.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Images/fields_table.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Images/symbols_table.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 282a1af

Please sign in to comment.