Skip to content

Commit 651fd73

Browse files
committed
Support multiple python versions, update ascii art lib, tests
1 parent 5cf64a3 commit 651fd73

File tree

4 files changed

+72
-4
lines changed

4 files changed

+72
-4
lines changed

example/requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
xart
1+
pyfiglet

example/run_tests

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
set -e
44
set -o pipefail
55
cd /lambda
6-
if [ `lambda invoke | md5sum | cut -d ' ' -f 1` != '5cd3139eadee0a85b2bb9f2164f3b6f6' ]; then
7-
echo 'ERROR: md5sum of output returned by lambda invoke did not match expected results'
6+
if [ `lambda invoke | md5sum | cut -d ' ' -f 1` != '53fb4322cc3fe840f02530054ef93603' ]; then
7+
echo 'ERROR: md5sum of output returned by lambda invoke did not match expected results' 1&>2
8+
exit 1
89
fi
910

example/service.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
#!/usr/bin/env python
22
import subprocess
33
def handler(event, context):
4-
return subprocess.check_output( ['xart', '-f', event.get('font', 'Small'), event.get('text', '') ] )
4+
return subprocess.check_output( ['pyfiglet', '-f', event.get('font', 'small'), event.get('text', '') ] ).decode('ascii')

test/test_dockerfiles

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
#!/bin/bash
2+
3+
set -e -o pipefail
4+
5+
TMPDIR=${TMPDIR:-/tmp}
6+
docker_dir="$PWD"
7+
base_image="alpine-aws-python-lambda"
8+
example_image="example-lambda-image"
9+
10+
header() { printf '=%.0s' {1..79}; echo; echo $@; printf '=%.0s' {1..79}; echo; }
11+
12+
declare -a dockerfiles=( "$@" )
13+
if [[ $# == 0 ]]; then
14+
dockerfiles=( Dockerfile-* )
15+
fi
16+
17+
for dockerfile in "${dockerfiles[@]}"; do
18+
19+
ver=$(echo "$dockerfile" | cut -d '-' -f 2)
20+
tag="test-$ver"
21+
base_image_tag="$base_image:$tag"
22+
example_image_tag="$example_image:$tag"
23+
example_image_tmp="$TMPDIR/$example_image-$tag"
24+
25+
header "Build base image - $ver"
26+
set -x
27+
cd $docker_dir
28+
docker build --tag $base_image_tag --file $dockerfile .
29+
set +x
30+
31+
header "Copy derived project - $ver"
32+
set -x
33+
rm -rvf $example_image_tmp &>/dev/null || true
34+
cp -rv $docker_dir/example/ $example_image_tmp/
35+
cd $example_image_tmp
36+
sed -i "1s/.*/FROM $base_image_tag/" Dockerfile
37+
set +x
38+
39+
header "Build derived docker - $ver"
40+
set -x
41+
docker build --tag $example_image_tag .
42+
set +x
43+
44+
header "Invoke lambda - $ver"
45+
set -x
46+
docker run --rm $example_image_tag lambda invoke
47+
set +x
48+
49+
header "Run tests - $ver"
50+
set -x
51+
docker run --rm $example_image_tag ./run_tests
52+
set +x
53+
54+
header "Build lambda - $ver"
55+
set -x
56+
docker run --rm $example_image_tag lambda build
57+
set +x
58+
59+
header "Cleanup - $ver"
60+
set -x
61+
docker rmi -f $example_image_tag
62+
docker rmi -f $base_image_tag
63+
rm -rvf $example_image_tmp
64+
set +x
65+
66+
done
67+

0 commit comments

Comments
 (0)