Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 2 additions & 7 deletions bin/build_image.sh
Original file line number Diff line number Diff line change
Expand Up @@ -64,13 +64,6 @@ build_image()
docker --log-level=ERROR compose build server
fi

echo
echo "Building with --build-args"
echo " COMMIT_SHA=${COMMIT_SHA}"
echo "To change this run:"
echo "$ COMMIT_SHA=... make image_${type}"
echo

if [ "${type}" == 'client' ]; then
# In CI workflow, we need to build the client image
docker --log-level=ERROR compose build client
Expand All @@ -89,8 +82,10 @@ build_image()
# Tag image-name for local development where differs name comes from echo-versioner-env-vars
if [ "${type}" == 'server' ]; then
docker tag "${image_name}" "cyberdojo/differ:${CYBER_DOJO_DIFFER_TAG}"
echo
echo " echo CYBER_DOJO_DIFFER_SHA=${CYBER_DOJO_DIFFER_SHA}"
echo " echo CYBER_DOJO_DIFFER_TAG=${CYBER_DOJO_DIFFER_TAG}"]
echo
echo "${image_name}"
fi
}
Expand Down
5 changes: 3 additions & 2 deletions bin/echo_env_vars.sh
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ echo_env_vars()
echo CYBER_DOJO_DIFFER_IMAGE="${AWS_ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com/differ"

# Overrides for local development
#echo CYBER_DOJO_SAVER_SHA=d80c6e4f9d17b41da878fa69315de7298e059350
#echo CYBER_DOJO_SAVER_TAG=d80c6e4
# echo CYBER_DOJO_SAVER_SHA=d80c6e4f9d17b41da878fa69315de7298e059350
# echo CYBER_DOJO_SAVER_TAG=d80c6e4
#
}
4 changes: 4 additions & 0 deletions docs/todo.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@

- When saver.kata_event() which is called in server tests
it can throw an exception. This exception is swallowed by differ
and returns nil. Instead, the exception should be propagated.
76 changes: 32 additions & 44 deletions test/server/differ_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,8 @@

class DifferTest < DifferTestBase

#def self.versions_test(id58_suffix, *lines, &block)
# versions = 0..2
# versions.each do |version|
# version_test(version, id58_suffix, *lines, &block)
# end
#end

def self.versions_0_1_test(id58_suffix, *lines, &block)
versions = 0..1
def self.versions_test(id58_suffix, *lines, &block)
versions = 0..2
versions.each do |version|
version_test(version, id58_suffix, *lines, &block)
end
Expand All @@ -30,8 +23,7 @@ def self.version_test(version, id58_suffix, *lines, &block)
# empty file
# - - - - - - - - - - - - - - - - - - - - - - - -

#versions_test 'C9sA2C', %w(
versions_0_1_test 'C9sA2C', %w(
versions_test 'C9sA2C', %w(
| empty file is created
) do
# Saver v2 uses git and its implementation currently relies on there
Expand All @@ -47,8 +39,7 @@ def self.version_test(version, id58_suffix, *lines, &block)

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

#versions_test 'C9sA5C', %w(
versions_0_1_test 'C9sA5C', %w(
versions_test 'C9sA5C', %w(
| empty file is deleted
) do
@was_files = { 'empty.rb' => '' }
Expand All @@ -61,8 +52,7 @@ def self.version_test(version, id58_suffix, *lines, &block)

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

#versions_test 'C9s3ED', %w(
versions_0_1_test 'C9s3ED', %w(
versions_test 'C9s3ED', %w(
| empty file is unchanged
) do
@was_files = { 'empty.py' => '' }
Expand All @@ -75,8 +65,7 @@ def self.version_test(version, id58_suffix, *lines, &block)

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

#versions_test 'C9sAA6', %w(
versions_0_1_test 'C9sAA6', %w(
versions_test 'C9sAA6', %w(
| empty file is renamed 100% identical
) do
@was_files = { 'plain' => '' }
Expand All @@ -89,8 +78,7 @@ def self.version_test(version, id58_suffix, *lines, &block)

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

#versions_test 'C9sA2D', %w(
versions_0_1_test 'C9sA2D', %w(
versions_test 'C9sA2D', %w(
| empty file is renamed 100% identical across dirs
) do
@was_files = { 'plain' => '' }
Expand All @@ -103,8 +91,7 @@ def self.version_test(version, id58_suffix, *lines, &block)

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

#versions_test 'C9sF2E', %w(
versions_0_1_test 'C9sF2E', %w(
versions_test 'C9sF2E', %w(
| empty file has some content added
) do
@was_files = { 'empty.c' => '' }
Expand All @@ -124,8 +111,7 @@ def self.version_test(version, id58_suffix, *lines, &block)
# non-empty file
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

#versions_test 'C9sD09', %w(
versions_0_1_test 'C9sD09', %w(
versions_test 'C9sD09', %w(
| non-empty file is created
) do
# Saver v2 uses git and its implementation currently relies on there
Expand All @@ -143,8 +129,7 @@ def self.version_test(version, id58_suffix, *lines, &block)

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

#versions_test 'C9s0C6', %w(
versions_0_1_test 'C9s0C6', %w(
versions_test 'C9s0C6', %w(
| non-empty file is deleted
) do
@was_files = { 'non-empty.h' => "two\nlines" }
Expand All @@ -161,8 +146,7 @@ def self.version_test(version, id58_suffix, *lines, &block)

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

#versions_test 'C9s21D', %w(
versions_0_1_test 'C9s21D', %w(
versions_test 'C9s21D', %w(
| non-empty file is unchanged
) do
@was_files = { 'non-empty.h' => '#include<stdio.h>' }
Expand All @@ -177,8 +161,7 @@ def self.version_test(version, id58_suffix, *lines, &block)

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

#versions_test 'C9sAA7', %w(
versions_0_1_test 'C9sAA7', %w(
versions_test 'C9sAA7', %w(
| non-empty file is renamed 100% identical
) do
@was_files = { 'plain' => 'xxx' }
Expand All @@ -193,8 +176,7 @@ def self.version_test(version, id58_suffix, *lines, &block)

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

#versions_test 'C9sBA7', %w(
versions_0_1_test 'C9sBA7', %w(
versions_test 'C9sBA7', %w(
| non-empty file is renamed 100% identical across dirs
) do
@was_files = { 'a/b/plain' => "a\nb\nc\nd" }
Expand All @@ -212,8 +194,7 @@ def self.version_test(version, id58_suffix, *lines, &block)

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

#versions_test 'C9sAA8', %w(
versions_0_1_test 'C9sAA8', %w(
versions_test 'C9sAA8', %w(
| non-empty file is renamed <100% identical
) do
@was_files = { 'hiker.h' => "a\nb\nc\nd" }
Expand All @@ -233,8 +214,7 @@ def self.version_test(version, id58_suffix, *lines, &block)

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

#versions_test 'C9sAA9', %w(
versions_0_1_test 'C9sAA9', %w(
versions_test 'C9sAA9', %w(
| non-empty file is renamed <100% identical across dirs
) do
@was_files = { '1/2/hiker.h' => "a\nb\nc\nd" }
Expand All @@ -254,8 +234,7 @@ def self.version_test(version, id58_suffix, *lines, &block)

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

#versions_test 'C9s4D0', %w(
versions_0_1_test 'C9s4D0', %w(
versions_test 'C9s4D0', %w(
| non-empty file has some content added at the start
) do
@was_files = { 'non-empty.c' => 'something' }
Expand All @@ -272,8 +251,7 @@ def self.version_test(version, id58_suffix, *lines, &block)

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

#versions_test 'C9s4D1', %w(
versions_0_1_test 'C9s4D1', %w(
versions_test 'C9s4D1', %w(
| non-empty file has some content added at the end
) do
@was_files = { 'non-empty.c' => 'something' }
Expand All @@ -290,8 +268,7 @@ def self.version_test(version, id58_suffix, *lines, &block)

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

#versions_test 'C9s4D2', %w(
versions_0_1_test 'C9s4D2', %w(
versions_test 'C9s4D2', %w(
| non-empty file has some content added in the middle
) do
@was_files = { 'non-empty.c' => "a\nc" }
Expand Down Expand Up @@ -326,7 +303,7 @@ def self.version_test(version, id58_suffix, *lines, &block)

def assert_diff(raw_expected)
expected = expected_diff(raw_expected)
assert_diff_lines(expected) # <<
assert_diff_lines(expected)
expected[0].delete(:lines)
assert_diff_summary(expected)
end
Expand Down Expand Up @@ -358,8 +335,19 @@ def diagnostic(_type, expected, diff)

def run_diff_prepare
id = saver.kata_create(starter_manifest)
kata_ran_tests(id, was_index = 1, @was_files)
kata_ran_tests(id, now_index = 2, @now_files)
event = saver.kata_event(id, 0)
event['files'].each do |filename, data|
@was_files[filename] = data['content']
end
was_index = event['index'] + 1
result = kata_ran_tests(id, was_index, @was_files)
now_index = result['next_index']

event['files'].each do |filename, data|
@now_files[filename] = data['content']
end
_result = kata_ran_tests(id, now_index, @now_files)

[id, was_index, now_index]
end

Expand Down
2 changes: 1 addition & 1 deletion test/server/lib/coverage_metrics_limits.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
def metrics
[
[ nil ],
[ 'test.lines.total' , '<=', 517 ],
[ 'test.lines.total' , '<=', 526 ],
[ 'test.lines.missed' , '<=', 0 ],
[ 'test.branches.total' , '<=', 0 ],
[ 'test.branches.missed', '<=', 0 ],
Expand Down
2 changes: 1 addition & 1 deletion test/server/lib/test_metrics_limits.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
def metrics
[
[ nil ],
[ 'test_count', '>=', 90 ],
[ 'test_count', '>=', 106 ],
[ 'total_time', '<=', 75 ],
[ nil ],
[ 'failure_count', '<=', 0 ],
Expand Down
6 changes: 3 additions & 3 deletions test/server/saver.rb
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ def kata_manifest(id)
@http.get(__method__, { id: id })
end

#def kata_event(id, index)
# @http.get(__method__, { id: id, index: index })
#end
def kata_event(id, index)
@http.get(__method__, { id: id, index: index })
end

def kata_ran_tests(id, index, files, stdout, stderr, status, summary)
@http.post(__method__, {
Expand Down