Skip to content

Commit 0b9454e

Browse files
committed
added REAL bash example. also added setup.sh
1 parent e7cb7f6 commit 0b9454e

File tree

5 files changed

+38
-14
lines changed

5 files changed

+38
-14
lines changed

README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,20 @@ A Lightweight, Multiclient Wire Protocol For ETH2.0 Communications
4141
* ruby
4242
* ada
4343
* css3
44+
45+
## Setup
46+
47+
```bash
48+
sh setup.sh
49+
```
4450

4551
## Running Tests
4652

4753
```
4854
python test/run.py
4955
```
56+
> Note: This chicken shit python test runner is written in python 2.
57+
5058

5159
Basic [benchmark results](https://gist.github.com/prestonvanloon/6663510164f967fa05553ead157cd5c1) against Protobuf.
5260

parsers/bash/parser.sh

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
11
#!/bin/bash
2-
3-
echo "8===D"
4-
cd ..
5-
cd swift/
6-
if [ -x parser ]
7-
then
8-
./parser >> parser.txt
9-
cat parser.txt
10-
else
11-
swiftc -o parser parser.swift
12-
./parser >> parser.txt
13-
cat parser.txt
2+
if [ $# -lt 2 ];then
3+
echo "ERROR: incorrect number of arguments!"
4+
exit 1
5+
elif [ ! -p /dev/stdin ]; then
6+
echo "No data piped into script"
7+
exit 1
148
fi
15-
16-
exit
9+
INPUT=$(cat |tr '\0' '|'; echo x) ; INPUT=${INPUT%?}
10+
INFO=($(echo ${INPUT/\\n*/}))
11+
PROTO=${INFO[0]}
12+
VERSION=${INFO[1]}
13+
COMMAND=${INFO[2]}
14+
HEADERBODY=${INPUT/*$COMMAND/}
15+
HEADERBODY=${HEADERBODY//|/\\x00}
16+
HEADER=($(echo ${HEADER/\\n*/}))
17+
BODY=${HEADERBODY/#$HEADER}
18+
printf "$PROTO $VERSION $COMMAND$HEADER$BODY"

requirements.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
pyyaml
2+

setup.sh

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#!/bin/sh
2+
3+
if ! [ -x "$(command -v pip)" ]; then
4+
echo 'Error: pip is not installed'
5+
echo 'Install it by running sudo easy_install pip'
6+
exit 1
7+
else
8+
pip install -r requirements.txt
9+
fi
10+
11+

test/run.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
]
2020

2121
LANGS = {
22+
'bash':['bash','./parsers/bash/parser.sh']
2223
'c': ['./parsers/c/test'],
2324
'cpp': [ './parsers/cpp/test' ],
2425
'd': ['./parsers/d/main'],

0 commit comments

Comments
 (0)