Merge branch 'examples_tests_during_build' of https://github.com/psychon/awesome
This commit is contained in:
commit
15a508f022
|
@ -188,6 +188,14 @@ function(run_test test_path namespace escaped_content)
|
|||
set(DOC_BLOCK_PREFIX "@usage")
|
||||
endif()
|
||||
|
||||
# Does the text generate text output?
|
||||
if(tmp_content MATCHES "--DOC_GEN_OUTPUT")
|
||||
# The expected output is next to the .lua file in a .output.txt file
|
||||
string(REPLACE ".lua" ".output.txt" expected_output_path ${test_path})
|
||||
else()
|
||||
set(expected_output_path "/dev/null")
|
||||
endif()
|
||||
|
||||
# Get the file name without the extension.
|
||||
get_filename_component(${test_path} TEST_FILE_NAME NAME)
|
||||
set(IMAGE_PATH "${IMAGE_DIR}/AUTOGEN${namespace}_${TEST_FILE_NAME}")
|
||||
|
@ -197,12 +205,12 @@ function(run_test test_path namespace escaped_content)
|
|||
message(STATUS "Running ${rel_test_path}…")
|
||||
|
||||
execute_process(
|
||||
COMMAND ${LUA_COV_RUNNER} ${template} ${test_path} ${IMAGE_PATH}
|
||||
COMMAND "${TOP_SOURCE_DIR}/tests/examples/runner.sh" "${expected_output_path}" ${LUA_COV_RUNNER} ${template} ${test_path} ${IMAGE_PATH}
|
||||
RESULT_VARIABLE TEST_RESULT
|
||||
OUTPUT_VARIABLE TEST_OUTPUT
|
||||
ERROR_VARIABLE TEST_ERROR
|
||||
)
|
||||
if (TEST_RESULT OR NOT TEST_ERROR STREQUAL "")
|
||||
if (TEST_RESULT OR NOT TEST_OUTPUT STREQUAL "" OR NOT TEST_ERROR STREQUAL "")
|
||||
message("Result: ${TEST_RESULT}")
|
||||
if (NOT TEST_OUTPUT STREQUAL "")
|
||||
message("Output: ${TEST_OUTPUT}")
|
||||
|
@ -232,19 +240,19 @@ function(run_test test_path namespace escaped_content)
|
|||
set(OUTPUT_IMAGE_PATH "")
|
||||
endif()
|
||||
|
||||
# Does the text generate text output?
|
||||
# If there is an output, assume it is relevant and add it to the
|
||||
# documentation under the image.
|
||||
if(NOT ${TEST_OUTPUT} STREQUAL "")
|
||||
if(NOT tmp_content MATCHES "--DOC_GEN_OUTPUT")
|
||||
message(FATAL_ERROR "Unexpected output from ${test_path}: ${TEST_OUTPUT}")
|
||||
endif()
|
||||
if(tmp_content MATCHES "--DOC_GEN_OUTPUT")
|
||||
file(READ "${expected_output_path}" expected_output)
|
||||
|
||||
set(TEST_DOC_CONTENT
|
||||
"${TEST_DOC_CONTENT}\n${DOC_LINE_PREFIX}\n${DOC_LINE_PREFIX}**Usage example output**:\n${DOC_LINE_PREFIX}"
|
||||
)
|
||||
|
||||
# Markdown requires an empty line before and after, and 4 spaces.
|
||||
escape_string(
|
||||
"\n${TEST_OUTPUT}"
|
||||
"\n${expected_output}"
|
||||
"${TEST_DOC_CONTENT}" TEST_DOC_CONTENT " "
|
||||
)
|
||||
set(TEST_DOC_CONTENT "${TEST_DOC_CONTENT}\n${DOC_LINE_PREFIX}")
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
235
|
|
@ -0,0 +1 @@
|
|||
Closest corner: top_left
|
|
@ -0,0 +1,2 @@
|
|||
Before: x=-30, y=-30, width=100, height=100
|
||||
After: x=10, y=10, width=100, height=100
|
|
@ -0,0 +1,51 @@
|
|||
#!/bin/sh
|
||||
# Todo: Give this shell script a sane calling convention. Right now it has a
|
||||
# file containing the expected output as first argument and just executes
|
||||
# everything else.
|
||||
|
||||
set -ue
|
||||
|
||||
# Cleanup on errors / aborting
|
||||
cleanup() {
|
||||
rm -rf "$file_stderr" "$file_stdout" || true
|
||||
}
|
||||
trap "cleanup" 0 2 3 15
|
||||
|
||||
file_stdout=$(mktemp)
|
||||
file_stderr=$(mktemp)
|
||||
|
||||
expected_output=$1
|
||||
shift
|
||||
|
||||
# Run the command that we were given
|
||||
exit_code=0
|
||||
"$@" > ${file_stdout} 2> ${file_stderr} || exit_code=$?
|
||||
|
||||
# If exit code is not zero or anything was produced on stderr...
|
||||
if [ $exit_code -ne 0 -o -s "${file_stderr}" ]
|
||||
then
|
||||
echo "Result: ${exit_code}"
|
||||
if [ -s "${file_stdout}" ]
|
||||
then
|
||||
echo "Output:"
|
||||
cat "${file_stdout}"
|
||||
fi
|
||||
if [ -s "${file_stderr}" ]
|
||||
then
|
||||
echo "Error:"
|
||||
cat "${file_stderr}"
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check if we got the output we wanted
|
||||
if ! cmp --silent "${file_stdout}" "${expected_output}"
|
||||
then
|
||||
echo "Expected text from ${expected_output}, but got:"
|
||||
diff -u "${expected_output}" "${file_stdout}" || true
|
||||
exit 1
|
||||
fi
|
||||
|
||||
exit 0
|
||||
|
||||
# vim: filetype=sh:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80
|
|
@ -23,7 +23,7 @@ function class:set_foo(value)
|
|||
end
|
||||
|
||||
function class:method(a, b, c)
|
||||
print("In a mathod", a, b, c)
|
||||
print("In a method", a, b, c)
|
||||
end
|
||||
|
||||
local o = gears.object {
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
In get foo bar
|
||||
bar
|
||||
In set foo 42
|
||||
In get foo 42
|
||||
42
|
||||
In a method 1 2 3
|
||||
nil
|
||||
In the connection handler! a cow
|
||||
a cow
|
|
@ -0,0 +1,2 @@
|
|||
In slot [obj] nil nil nil
|
||||
In slot [obj] foo bar 42
|
|
@ -0,0 +1,6 @@
|
|||
The position #1 is: a
|
||||
The position #2 is: b
|
||||
The position #3 is: c
|
||||
The position #4 is: d
|
||||
The position #5 is: e
|
||||
The position #6 is: f
|
|
@ -0,0 +1 @@
|
|||
l:add_widget_at(new, 1, 4, 1, 1)
|
|
@ -0,0 +1 @@
|
|||
l:extend_column(2)
|
|
@ -0,0 +1 @@
|
|||
l:insert_column(2)
|
|
@ -10,8 +10,7 @@ print([[l = wibox.layout {
|
|||
layout = wibox.layout.grid
|
||||
}
|
||||
l:set_orientation("vertical") -- change to "horizontal"
|
||||
l:add(...)
|
||||
]]) --DOC_HIDE
|
||||
l:add(...)]]) --DOC_HIDE
|
||||
|
||||
return --DOC_HIDE
|
||||
wibox.widget {
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
l = wibox.layout {
|
||||
forced_num_cols = 2,
|
||||
forced_num_rows = 2,
|
||||
homogeneous = true,
|
||||
layout = wibox.layout.grid
|
||||
}
|
||||
l:set_orientation("vertical") -- change to "horizontal"
|
||||
l:add(...)
|
|
@ -0,0 +1 @@
|
|||
l:remove_widgets_at(1,1)
|
|
@ -0,0 +1 @@
|
|||
l:remove_column(2)
|
Loading…
Reference in New Issue