Skip to content

Commit

Permalink
Raft on NS-3 can run
Browse files Browse the repository at this point in the history
  • Loading branch information
legendPerceptor committed Apr 21, 2020
0 parents commit 2f54684
Show file tree
Hide file tree
Showing 4,631 changed files with 2,049,461 additions and 0 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
Binary file added .DS_Store
Binary file not shown.
53 changes: 53 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
---
Language: Cpp
AccessModifierOffset: -2
AlignAfterOpenBracket: Align
AlignConsecutiveAssignments: false
AlignConsecutiveDeclarations: false
AlignEscapedNewlinesLeft: true
AlignOperands: true
AlignTrailingComments: false
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortBlocksOnASingleLine: false
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: None
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterReturnType: AllDefinitions
AlwaysBreakTemplateDeclarations: true
BinPackArguments: true
BinPackParameters: true
BreakBeforeBinaryOperators: None
BreakBeforeBraces: Custom
BraceWrapping:
AfterClass: true
AfterControlStatement: true
AfterFunction: true
AfterNamespace: false
AfterStruct: true
IndentBraces: true
BeforeElse: true
BreakBeforeTernaryOperators: true
BreakConstructorInitializersBeforeComma: false
ColumnLimit: 100
ConstructorInitializerAllOnOneLineOrOnePerLine: true
Cpp11BracedListStyle: true
DerivePointerAlignment: false
IndentCaseLabels: false
IndentWidth: 2
NamespaceIndentation: None
PointerAlignment: Right
ReflowComments: false
SortIncludes: false
SpaceAfterCStyleCast: true
SpaceAfterTemplateKeyword: true
SpaceBeforeAssignmentOperators: true
SpaceBeforeParens: Always
SpaceInEmptyParentheses: false
SpacesInAngles: false
SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
Standard: 'Cpp11'
UseTab: Never
...
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
src/*/bindings/* linguist-generated=true

282 changes: 282 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,282 @@
name: CI

on: [push]
#schedule:
# - cron: '0 5 * * *' #daily build at 5AM
jobs:

Ubuntu:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v1
- name: Install required packages
run: |
sudo apt-get update
sudo apt-get -y install apt-utils
sudo apt-get -y install git gcc g++ cmake python make ninja-build
sudo apt-get -y install qt5-default
sudo apt-get -y install gdb valgrind
sudo apt-get -y install tcpdump
sudo apt-get -y install curl unzip tar
sudo apt-get -y install ccache
- name: Configure CMake in debug mode
run: |
mkdir cmake-cache
cd cmake-cache
cmake -DCMAKE_BUILD_TYPE=DEBUG -DNS3_EXAMPLES=ON -DNS3_TESTS=ON -G"Ninja" ..
- name: Build ns-3 in debug mode
run: |
cd cmake-cache
ninja
- name: Run tests
run: python3 ./utils/test-runner-script.py
- name: Run examples
run : |
cd cmake-cache
ctest
# - name: Clean debug artifacts
# run: |
# rm -Rf ../build
# rm -Rf ./*
# rm -Rf ../3rd-party/vcpkg
# rm ../utils/failed-tests.json
# - name: Configure CMake in minimal size release mode
# run: |
# mkdir cmake-cache
# cd cmake-cache
# cmake -DCMAKE_BUILD_TYPE=MINSIZEREL -G"Ninja" ..
# - name: Build ns-3 in minimal size release mode
# run: |
# cd cmake-cache
# ninja
# - name: Run tests
# run: |
# python3 ./utils/test-runner-script.py
# - name: Clean minimal size release artifacts
# run: |
# rm -Rf ../build
# rm -Rf ./*
# rm -Rf ../3rd-party/vcpkg
# rm ../utils/failed-tests.json
# - name: Configure CMake in release with debug mode
# run: |
# mkdir cmake-cache
# cd cmake-cache
# cmake -DCMAKE_BUILD_TYPE=RELWITHDEBINFO -G"Ninja" ..
# - name: Build ns-3 in release with debug mode
# run: |
# cd cmake-cache
# ninja
# - name: Run tests
# run: |
# python3 ./utils/test-runner-script.py
# - name: Clean release with debug artifacts
# run: |
# rm -Rf ../build
# rm -Rf ./*
# rm -Rf ../3rd-party/vcpkg
# rm ../utils/failed-tests.json
# - name: Configure CMake in release mode
# run: |
# mkdir cmake-cache
# cd cmake-cache
# cmake -DCMAKE_BUILD_TYPE=RELEASE -G"Ninja" ..
# - name: Build ns-3 in release mode
# run: |
# cd cmake-cache
# ninja
# - name: Run tests
# run: |
# python3 ./utils/test-runner-script.py


Windows_MinGW:

runs-on: windows-latest
#Someone is stupid and decided to switch from cmd to powershell
steps:
- uses: actions/checkout@v1
- name: Install msys2/mingw64
#steps from https://github.com/msys2/MINGW-packages/blob/master/azure-pipelines.yml
run: |
git clone https://github.com/msys2/msys2-ci-base.git D:\msys64
D:\msys64\usr\bin\rm -rf D:\msys64\.git
set PATH=D:\msys64\usr\bin;%WINDIR%;%WINDIR%\System32
D:\msys64\usr\bin\pacman --noconfirm -Syyuu
set PATH=D:\msys64\usr\bin;%WINDIR%;%WINDIR%\System32
D:\msys64\usr\bin\pacman --noconfirm --needed -S git base-devel
D:\msys64\usr\bin\pacman --noconfirm -Scc
shell: cmd
- name: Install required packages
run: |
set PATH=D:\msys64\usr\bin;%WINDIR%;%WINDIR%\System32
pacman -S --noconfirm unzip
pacman -S --noconfirm tar
pacman -S --noconfirm mingw-w64-x86_64-curl
pacman -S --noconfirm mingw-w64-x86_64-binutils
pacman -S --noconfirm mingw-w64-x86_64-boost
pacman -S --noconfirm mingw-w64-x86_64-cmake
pacman -S --noconfirm mingw-w64-x86_64-gcc
pacman -S --noconfirm mingw-w64-x86_64-ninja
pacman -S --noconfirm mingw-w64-x86_64-gcc-libs
pacman -S --noconfirm mingw-w64-x86_64-gcc-objc
pacman -S --noconfirm mingw-w64-x86_64-gdb
pacman -S --noconfirm mingw-w64-x86_64-make
pacman -S --noconfirm mingw-w64-x86_64-python2
pacman -S --noconfirm mingw-w64-x86_64-python3
pacman -S --noconfirm mingw-w64-x86_64-qt5
pacman --noconfirm -Scc
shell: cmd
- name: Configure CMake in debug mode
run: |
set PATH=D:\msys64\mingw64\bin;D:\msys64\usr\bin;%WINDIR%;%WINDIR%\System32
mkdir cmake-cache
cd cmake-cache
cmake -DCMAKE_BUILD_TYPE=DEBUG -DNS3_EXAMPLES=ON -DNS3_TESTS=ON -G"Ninja" ..
shell: cmd
- name: Build ns-3 in debug mode
run: |
set PATH=D:\msys64\mingw64\bin;D:\msys64\usr\bin;%WINDIR%;%WINDIR%\System32
cd cmake-cache
ninja
shell: cmd
- name: Run tests
run: |
set PATH=D:\msys64\mingw64\bin;D:\msys64\usr\bin;%WINDIR%;%WINDIR%\System32
python3 ./utils/test-runner-script.py
shell: cmd
- name: Run examples
run : |
cd cmake-cache
ctest
shell: cmd
# - name: Clean debug artifacts
# run: |
# set PATH=%CD:~0,2%\msys64\mingw64\bin;%CD:~0,2%\msys64\usr\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem
# rm -Rf ../build
# rm -Rf ./*
# rm -Rf ../3rd-party/vcpkg
# rm ../utils/failed-tests.json
# - name: Configure CMake in minimal size release mode
# run: |
# set PATH=%CD:~0,2%\msys64\mingw64\bin;%CD:~0,2%\msys64\usr\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem
# mkdir cmake-cache
# cd cmake-cache
# cmake -DCMAKE_BUILD_TYPE=MINSIZEREL -G"Ninja" ..
# - name: Build ns-3 in minimal size release mode
# run: |
# set PATH=%CD:~0,2%\msys64\mingw64\bin;%CD:~0,2%\msys64\usr\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem
# cd cmake-cache
# ninja
# - name: Run tests
# run: |
# set PATH=%CD:~0,2%\msys64\mingw64\bin;%CD:~0,2%\msys64\usr\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem
# python3 ./utils/test-runner-script.py
# - name: Clean minimal size release artifacts
# run: |
# set PATH=%CD:~0,2%\msys64\mingw64\bin;%CD:~0,2%\msys64\usr\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem
# rm -Rf ../build
# rm -Rf ./*
# rm -Rf ../3rd-party/vcpkg
# rm ../utils/failed-tests.json
# - name: Configure CMake in release with debug mode
# run: |
# set PATH=%CD:~0,2%\msys64\mingw64\bin;%CD:~0,2%\msys64\usr\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem
# mkdir cmake-cache
# cd cmake-cache
# cmake -DCMAKE_BUILD_TYPE=RELWITHDEBINFO -G"Ninja" ..
# - name: Build ns-3 in release with debug mode
# run: |
# set PATH=%CD:~0,2%\msys64\mingw64\bin;%CD:~0,2%\msys64\usr\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem
# cd cmake-cache
# ninja
# - name: Run tests
# run: |
# set PATH=%CD:~0,2%\msys64\mingw64\bin;%CD:~0,2%\msys64\usr\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem
# python3 ./utils/test-runner-script.py
# - name: Clean release with debug artifacts
# run: |
# set PATH=%CD:~0,2%\msys64\mingw64\bin;%CD:~0,2%\msys64\usr\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem
# rm -Rf ../build
# rm -Rf ./*
# rm -Rf ../3rd-party/vcpkg
# rm ../utils/failed-tests.json
# - name: Configure CMake in release mode
# run: |
# set PATH=%CD:~0,2%\msys64\mingw64\bin;%CD:~0,2%\msys64\usr\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem
# mkdir cmake-cache
# cd cmake-cache
# cmake -DCMAKE_BUILD_TYPE=RELEASE -G"Ninja" ..
# - name: Build ns-3 in release mode
# run: |
# set PATH=%CD:~0,2%\msys64\mingw64\bin;%CD:~0,2%\msys64\usr\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem
# cd cmake-cache
# ninja
# - name: Run tests
# run: |
# set PATH=%CD:~0,2%\msys64\mingw64\bin;%CD:~0,2%\msys64\usr\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem
# python3 ./utils/test-runner-script.py

Mac_OS_X:

runs-on: macos-latest

steps:
- uses: actions/checkout@v1
- name: Install required packages
run: |
brew install ninja cmake qt5 gcc@9
- name: Configure CMake in debug mode
run: |
export PATH=/usr/local/bin:/usr/local/opt/qt/bin:$PATH
export CXX=g++-9
export CC=gcc-9
mkdir cmake-cache
cd cmake-cache
cmake -DCMAKE_BUILD_TYPE=DEBUG -DNS3_EXAMPLES=ON -DNS3_TESTS=ON -G"Ninja" ..
- name: Build ns-3 in debug mode
run: |
export PATH="/usr/local/opt/qt/bin:$PATH"
cd cmake-cache
ninja
- name: Run tests
run: |
python3 ./utils/test-runner-script.py
- name: Run examples
run : |
cd cmake-cache
ctest
# - name: Clean release with debug artifacts
# run: |
# rm -Rf ../build
# rm -Rf ./*
# rm -Rf ../3rd-party/vcpkg
# rm ../utils/failed-tests.json

#Windows_Visual_Studio: #not working
#
# runs-on: windows-latest
#
# steps:
# - uses: actions/checkout@v1
# - name: Install required packages
# run: |
# ????
# - name: Configure CMake
# run: |
# %comspec% /k "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat"
# mkdir cmake-cache
# cd cmake-cache
# cmake -DCMAKE_BUILD_TYPE=RELEASE -G"Ninja" ..
# - name: Build ns-3
# run: |
# %comspec% /k "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat"
# cd cmake-cache
# ninja
# - name: Run tests
# run: |
# python3 ./utils/test-runner-script.py


53 changes: 53 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
*.diff
*.orig
*.patch
*.rej

*.o
*.pyc
*.pyo

*.cwnd
*.dat
*.log
*.mob
*.pcap
*.plt
*.routes
*.tr
[D|U]l[A-Z][a-z]*Stats.txt
seventh-packet-byte-count.png

\#*#
~*

testpy-output

bindings/python/pybindgen/

ms_print.*
massif.*
coverity
TAGS

.lock-waf_*_build
.waf*

build-dir/
build/
/.cproject
/.project

cmake-build-debug/

.idea/

3rd-party/vcpkg/

3rd-party/libtorch.zip

3rd-party/libtorch/

configFile.cmake

cmake-build-relwithdebinfo/
Loading

0 comments on commit 2f54684

Please sign in to comment.