feat: assignment 3
This commit is contained in:
parent
06fbd2d6ad
commit
3cc3f6332d
7 changed files with 281 additions and 0 deletions
38
assignment3/test
Executable file
38
assignment3/test
Executable file
|
|
@ -0,0 +1,38 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
echo "Building executables..."
|
||||
|
||||
cd "${FLAKE:-$(dirname $0)}"
|
||||
if command -v nix; then
|
||||
producer="$(nix build --no-link --print-out-paths .#a3-producer)/bin/producer"
|
||||
consumer="$(nix build --no-link --print-out-paths .#a3-consumer)/bin/consumer"
|
||||
else
|
||||
mkdir build
|
||||
gcc src/producer.c -o build/producer -pthread -lrt
|
||||
gcc src/consumer.c -o build/consumer -pthread -lrt
|
||||
producer="./build/producer"
|
||||
consumer="./build/consumer"
|
||||
fi
|
||||
|
||||
echo -e "\nTEST - Basic Functionality"
|
||||
"${producer}" 1 5 &
|
||||
"${consumer}" 1 5 &
|
||||
wait
|
||||
|
||||
echo -e "\nTEST - Multiple Producers"
|
||||
"${producer}" 1 10 &
|
||||
"${producer}" 2 10 &
|
||||
"${producer}" 3 10 &
|
||||
"${consumer}" 1 30 &
|
||||
wait
|
||||
|
||||
echo -e "\nTEST - Multiple Consumers"
|
||||
"${producer}" 1 20 &
|
||||
"${consumer}" 1 10 &
|
||||
"${consumer}" 2 10 &
|
||||
wait
|
||||
|
||||
# Cleanup
|
||||
ipcrm -M 0x1234
|
||||
rm /dev/shm/sem*
|
||||
rm -rf build
|
||||
Loading…
Add table
Add a link
Reference in a new issue