GNU
|
Liberty Eiffel
|
Automated Tests
|
Wiki
|
Savannah project
|
Debian packages
|
Documentation
>
smarteiffel
>
EIFFELTEST_SERVER_RUN_TESTS
+
Point of view
All features
ANY
JOB
LOOP_ITEM
All features
class EIFFELTEST_SERVER_RUN_TESTS
Summary
top
Direct parents
Inherit list:
JOB
Insert list:
LOGGING
,
PROCESS_WAIT
Class invariant
top
path
/= Void
stream
/= Void
server
/= Void
priority /= Minimum_integer
Overview
top
Creation features
{
ANY
}
make
(a_port:
INTEGER_32
, a_path:
STRING
, a_stream:
SOCKET_INPUT_OUTPUT_STREAM
, a_server:
EIFFELTEST_SERVER_SOCKET
)
Features
{
LOOP_ITEM
}
prepare
(events:
EVENTS_SET
)
Use
events
to describe condition that make this job ready to
continue
.
is_ready
(events:
EVENTS_SET
):
BOOLEAN
Check if this job is ready to continue his work.
continue
Continue to do the job.
done
:
BOOLEAN
done
returns
True
when the job is finished.
restart
Configure the job like in its initial state.
Good tests: tests that must pass
{}
check_good_test
(test_file:
FIXED_STRING
)
check_mocks_with
(test_file:
FIXED_STRING
)
test_file_check_with
(options:
STRING
, test_file:
FIXED_STRING
)
run_file_check_with
(options:
STRING
, cmd:
STRING
, exe_name:
STRING
, cecil_flag:
BOOLEAN
, test_file:
FIXED_STRING
)
ace_test
(test_file:
FIXED_STRING
):
BOOLEAN
Result is True when
test_file
appears to be an
ACE
test.
run_ace_test
(test_file:
FIXED_STRING
, cmd:
STRING
, exe_name:
STRING
)
change_exe_name
(test_file:
FIXED_STRING
):
STRING
running_of
(test_file:
FIXED_STRING
, exe_name:
STRING
, options:
STRING
, when_done:
PROCEDURE
[
TUPLE
])
cleanup_running_of
(test_file:
FIXED_STRING
, exe_name:
STRING
, options:
STRING
, when_done:
PROCEDURE
[
TUPLE
], was_run:
BOOLEAN
)
Bad tests: tests that must fail
{}
check_bad_test
(bad_file:
FIXED_STRING
)
run_bad_test
(new:
STRING
, msg:
STRING
, exe_name:
STRING
, bad_file:
FIXED_STRING
)
cleanup_bad_test
(bad_file:
FIXED_STRING
)
{}
disconnect
test_log
:
LINES_OUTPUT_STREAM
collection_sorter
:
COLLECTION_SORTER
[
FIXED_STRING
]
good_tests
:
RING_ARRAY
[
FIXED_STRING
]
bad_tests
:
RING_ARRAY
[
FIXED_STRING
]
load_tests
load_unit_tests
plural
(count:
INTEGER_32
):
STRING
list
(tests:
TRAVERSABLE
[
FIXED_STRING
]):
STRING
check_excluded_lst
load_excluded_lst
(filepath:
STRING
)
excluded_patterns
:
FAST_ARRAY
[
EIFFELTEST_PATTERN
]
check_unused_excluded_patterns
open_log_file
{}
excluded_execution_of
(log_line:
ABSTRACT_STRING
, action:
PROCEDURE
[
TUPLE
]):
BOOLEAN
execute_command
(log_line:
STRING
, cmd:
STRING
, bad_file_flag:
BOOLEAN
, when_done:
PROCEDURE
[
TUPLE
], timeout:
INTEGER_32
)
cleanup_execute_command
(exit_status:
INTEGER_32
, log_line:
STRING
, cmd:
STRING
, bad_file_flag:
BOOLEAN
, when_done:
PROCEDURE
[
TUPLE
])
{}
make
(a_port:
INTEGER_32
, a_path:
STRING
, a_stream:
SOCKET_INPUT_OUTPUT_STREAM
, a_server:
EIFFELTEST_SERVER_SOCKET
)
port
:
INTEGER_32
stream
:
SOCKET_INPUT_OUTPUT_STREAM
server
:
EIFFELTEST_SERVER_SOCKET
path
:
STRING
status
:
INTEGER_32
file_tools
:
FILE_TOOLS
process_list
:
RING_ARRAY
[
EIFFELTEST_SERVER_PROCESS
]
running_level
:
INTEGER_32
error_message_comparator
:
ERROR_MESSAGE_COMPARATOR
on_pid
(a_pid:
INTEGER_32
, a_status:
INTEGER_32
)
This feature is called on behalf of the waitpid job
on_timeout
This feature is called on behalf of the waitpid job
unqueue_process
strings
:
STRING_RECYCLING_POOL
process_pool
:
RECYCLING_POOL
[
EIFFELTEST_SERVER_PROCESS
]
{}
_inline_agent3
(options_:
STRING
, exe_name_:
STRING
)
{
JOB
,
LOOP_ITEM
}
priority
:
INTEGER_32
never change a job's priority after inserting it in loop_item.
{
LOOP_ITEM
}
infix "<"
(other:
JOB
):
BOOLEAN
Maximum:
{}
Maximum_character_code
:
INTEGER_16
Largest supported code for
CHARACTER
values.
Maximum_integer_8
:
INTEGER_8
Largest supported value of type
INTEGER_8
.
Maximum_integer_16
:
INTEGER_16
Largest supported value of type
INTEGER_16
.
Maximum_integer
:
INTEGER_32
Largest supported value of type INTEGER/
INTEGER_32
.
Maximum_integer_32
:
INTEGER_32
Largest supported value of type INTEGER/
INTEGER_32
.
Maximum_integer_64
:
INTEGER_64
Largest supported value of type
INTEGER_64
.
Maximum_real_32
:
REAL_32
Largest non-special (no NaNs nor infinity) supported value of type
REAL_32
.
Maximum_real
:
REAL_64
Largest non-special (no NaNs nor infinity) supported value of type REAL.
Maximum_real_64
:
REAL_64
Largest non-special (no NaNs nor infinity) supported value of type REAL.
Maximum_real_80
:
REAL_EXTENDED
Largest supported value of type
REAL_80
.
Minimum:
{}
Minimum_character_code
:
INTEGER_16
Smallest supported code for
CHARACTER
values.
Minimum_integer_8
:
INTEGER_8
Smallest supported value of type
INTEGER_8
.
Minimum_integer_16
:
INTEGER_16
Smallest supported value of type
INTEGER_16
.
Minimum_integer
:
INTEGER_32
Smallest supported value of type INTEGER/
INTEGER_32
.
Minimum_integer_32
:
INTEGER_32
Smallest supported value of type INTEGER/
INTEGER_32
.
Minimum_integer_64
:
INTEGER_64
Smallest supported value of type
INTEGER_64
.
Minimum_real_32
:
REAL_32
Smallest non-special (no NaNs nor infinity) supported value of type
REAL_32
.
Minimum_real
:
REAL_64
Smallest non-special (no NaNs nor infinity) supported value of type REAL.
Minimum_real_64
:
REAL_64
Smallest non-special (no NaNs nor infinity) supported value of type REAL.
Minimum_real_80
:
REAL_64
Smallest supported value of type
REAL_80
.
Bits:
{}
Boolean_bits
:
INTEGER_32
Number of bits in a value of type
BOOLEAN
.
Character_bits
:
INTEGER_32
Number of bits in a value of type
CHARACTER
.
Integer_bits
:
INTEGER_32
Number of bits in a value of type INTEGER.
Real_bits
:
INTEGER_32
Number of bits in a value of type REAL.
Pointer_bits
:
INTEGER_32
Number of bits in a value of type
POINTER
.
{}
log
:
LOGGER
There is one logger per concrete type; for performance reasons it is cached in each instance.
log_memory__0_
:
LOGGER
The cached logger.
{
ANY
}
in
:
WAITPID_INPUT
job
:
WAITPID_JOB
prepare
(events:
EVENTS_SET
)
effective procedure
{
LOOP_ITEM
}
top
Use
events
to describe condition that make this job ready to
continue
.
events
describe the conditions to be satisfied before running this job for one more step.
require
events /= Void
not events.queryable
not done
is_ready
(events:
EVENTS_SET
):
BOOLEAN
effective function
{
LOOP_ITEM
}
top
Check if this job is ready to continue his work.
events
describe the events which occurred.
require
events /= Void
events.queryable
not done
continue
effective procedure
{
LOOP_ITEM
}
top
Continue to do the job.
The work to do has to be small work and non blocking, it will continue on next call.
require
not done
done
:
BOOLEAN
effective function
{
LOOP_ITEM
}
top
done
returns
True
when the job is finished.
Then the job may be
restart
(ed) if it needs to run again.
restart
effective procedure
{
LOOP_ITEM
}
top
Configure the job like in its initial state.
Example: when some window dialog appears a second time, all jobs from this window are restarted.
require
done
ensure
not done
check_good_test
(test_file:
FIXED_STRING
)
effective procedure
{}
top
require
test_file.has_prefix("test")
test_file.has_suffix(".e")
check_mocks_with
(test_file:
FIXED_STRING
)
effective procedure
{}
top
require
test_file.has_prefix("test")
test_file.has_suffix(".e")
test_file_check_with
(options:
STRING
, test_file:
FIXED_STRING
)
effective procedure
{}
top
require
not options.is_empty
test_file.has_prefix("test_")
test_file.has_suffix(".e")
run_file_check_with
(options:
STRING
, cmd:
STRING
, exe_name:
STRING
, cecil_flag:
BOOLEAN
, test_file:
FIXED_STRING
)
effective procedure
{}
top
ace_test
(test_file:
FIXED_STRING
):
BOOLEAN
effective function
{}
top
Result is True when
test_file
appears to be an
ACE
test.
require
test_file.has_prefix("test_")
test_file.has_suffix(".e")
run_ace_test
(test_file:
FIXED_STRING
, cmd:
STRING
, exe_name:
STRING
)
effective procedure
{}
top
change_exe_name
(test_file:
FIXED_STRING
):
STRING
effective function
{}
top
require
test_file.has_suffix(".e")
ensure
not Result.is_empty
running_of
(test_file:
FIXED_STRING
, exe_name:
STRING
, options:
STRING
, when_done:
PROCEDURE
[
TUPLE
])
effective procedure
{}
top
cleanup_running_of
(test_file:
FIXED_STRING
, exe_name:
STRING
, options:
STRING
, when_done:
PROCEDURE
[
TUPLE
], was_run:
BOOLEAN
)
effective procedure
{}
top
check_bad_test
(bad_file:
FIXED_STRING
)
effective procedure
{}
top
require
bad_file.has_prefix("bad")
bad_file.has_suffix(".e")
run_bad_test
(new:
STRING
, msg:
STRING
, exe_name:
STRING
, bad_file:
FIXED_STRING
)
effective procedure
{}
top
cleanup_bad_test
(bad_file:
FIXED_STRING
)
effective procedure
{}
top
disconnect
effective procedure
{}
top
require
not
done
ensure
done
test_log
:
LINES_OUTPUT_STREAM
writable attribute
{}
top
collection_sorter
:
COLLECTION_SORTER
[
FIXED_STRING
]
writable attribute
{}
top
good_tests
:
RING_ARRAY
[
FIXED_STRING
]
writable attribute
{}
top
bad_tests
:
RING_ARRAY
[
FIXED_STRING
]
writable attribute
{}
top
load_tests
effective procedure
{}
top
load_unit_tests
effective procedure
{}
top
require
not
done
plural
(count:
INTEGER_32
):
STRING
effective function
{}
top
list
(tests:
TRAVERSABLE
[
FIXED_STRING
]):
STRING
effective function
{}
top
check_excluded_lst
effective procedure
{}
top
require
not
done
load_excluded_lst
(filepath:
STRING
)
effective procedure
{}
top
excluded_patterns
:
FAST_ARRAY
[
EIFFELTEST_PATTERN
]
writable attribute
{}
top
check_unused_excluded_patterns
effective procedure
{}
top
require
test_log
.is_connected
open_log_file
effective procedure
{}
top
require
not
done
ensure
not
done
implies
test_log
/= Void
excluded_execution_of
(log_line:
ABSTRACT_STRING
, action:
PROCEDURE
[
TUPLE
]):
BOOLEAN
effective function
{}
top
require
not log_line.is_empty
action /= Void
execute_command
(log_line:
STRING
, cmd:
STRING
, bad_file_flag:
BOOLEAN
, when_done:
PROCEDURE
[
TUPLE
], timeout:
INTEGER_32
)
effective procedure
{}
top
cleanup_execute_command
(exit_status:
INTEGER_32
, log_line:
STRING
, cmd:
STRING
, bad_file_flag:
BOOLEAN
, when_done:
PROCEDURE
[
TUPLE
])
effective procedure
{}
top
make
(a_port:
INTEGER_32
, a_path:
STRING
, a_stream:
SOCKET_INPUT_OUTPUT_STREAM
, a_server:
EIFFELTEST_SERVER_SOCKET
)
effective procedure
{}
top
require
a_path /= Void
a_stream.is_connected
a_server /= Void
ensure
port
= a_port
path
= a_path
stream
= a_stream
server
= a_server
port
:
INTEGER_32
writable attribute
{}
top
stream
:
SOCKET_INPUT_OUTPUT_STREAM
writable attribute
{}
top
server
:
EIFFELTEST_SERVER_SOCKET
writable attribute
{}
top
path
:
STRING
writable attribute
{}
top
status
:
INTEGER_32
writable attribute
{}
top
file_tools
:
FILE_TOOLS
writable attribute
{}
top
process_list
:
RING_ARRAY
[
EIFFELTEST_SERVER_PROCESS
]
writable attribute
{}
top
running_level
:
INTEGER_32
writable attribute
{}
top
error_message_comparator
:
ERROR_MESSAGE_COMPARATOR
once function
{}
top
on_pid
(a_pid:
INTEGER_32
, a_status:
INTEGER_32
)
effective procedure
{}
top
This feature is called on behalf of the waitpid job
on_timeout
effective procedure
{}
top
This feature is called on behalf of the waitpid job
unqueue_process
effective procedure
{}
top
strings
:
STRING_RECYCLING_POOL
once function
{}
top
process_pool
:
RECYCLING_POOL
[
EIFFELTEST_SERVER_PROCESS
]
once function
{}
top
_inline_agent3
(options_:
STRING
, exe_name_:
STRING
)
frozen
effective procedure
{}
top
priority
:
INTEGER_32
writable attribute
{
JOB
,
LOOP_ITEM
}
top
never change a job's priority after inserting it in loop_item.
Priority should only be set at creation time.
infix "<"
(other:
JOB
):
BOOLEAN
effective function
{
LOOP_ITEM
}
top
Maximum_character_code
:
INTEGER_16
{}
top
Largest supported code for
CHARACTER
values.
ensure
meaningful:
Result >= 127
Maximum_integer_8
:
INTEGER_8
is 127
constant attribute
{}
top
Largest supported value of type
INTEGER_8
.
Maximum_integer_16
:
INTEGER_16
is 32767
constant attribute
{}
top
Largest supported value of type
INTEGER_16
.
Maximum_integer
:
INTEGER_32
is 2147483647
constant attribute
{}
top
Largest supported value of type INTEGER/
INTEGER_32
.
Maximum_integer_32
:
INTEGER_32
is 2147483647
constant attribute
{}
top
Largest supported value of type INTEGER/
INTEGER_32
.
Maximum_integer_64
:
INTEGER_64
is 9223372036854775807
constant attribute
{}
top
Largest supported value of type
INTEGER_64
.
Maximum_real_32
:
REAL_32
is {REAL_32 3.4028234663852885981170418348451692544e+38}
constant attribute
{}
top
Largest non-special (no NaNs nor infinity) supported value of type
REAL_32
.
Maximum_real
:
REAL_64
{}
top
Largest non-special (no NaNs nor infinity) supported value of type REAL.
Just to give an idea of this value: 1.79769313486231570....e+308
Maximum_real_64
:
REAL_64
{}
top
Largest non-special (no NaNs nor infinity) supported value of type REAL.
Just to give an idea of this value: 1.79769313486231570....e+308
Maximum_real_80
:
REAL_EXTENDED
{}
top
Largest supported value of type
REAL_80
.
ensure
meaningful:
Result >=
Maximum_real
Minimum_character_code
:
INTEGER_16
{}
top
Smallest supported code for
CHARACTER
values.
ensure
meaningful:
Result <= 0
Minimum_integer_8
:
INTEGER_8
is -128
constant attribute
{}
top
Smallest supported value of type
INTEGER_8
.
Minimum_integer_16
:
INTEGER_16
is -32768
constant attribute
{}
top
Smallest supported value of type
INTEGER_16
.
Minimum_integer
:
INTEGER_32
is -2147483648
constant attribute
{}
top
Smallest supported value of type INTEGER/
INTEGER_32
.
Minimum_integer_32
:
INTEGER_32
is -2147483648
constant attribute
{}
top
Smallest supported value of type INTEGER/
INTEGER_32
.
Minimum_integer_64
:
INTEGER_64
is -9223372036854775808
constant attribute
{}
top
Smallest supported value of type
INTEGER_64
.
Minimum_real_32
:
REAL_32
is {REAL_32 -3.40282346638528859811704183484516925440e+38}
constant attribute
{}
top
Smallest non-special (no NaNs nor infinity) supported value of type
REAL_32
.
Minimum_real
:
REAL_64
{}
top
Smallest non-special (no NaNs nor infinity) supported value of type REAL.
Just to give an idea of this value: -1.79769313486231570....e+308
Minimum_real_64
:
REAL_64
{}
top
Smallest non-special (no NaNs nor infinity) supported value of type REAL.
Just to give an idea of this value: -1.79769313486231570....e+308
Minimum_real_80
:
REAL_64
{}
top
Smallest supported value of type
REAL_80
.
ensure
meaningful:
Result <= 0.0
Boolean_bits
:
INTEGER_32
{}
top
Number of bits in a value of type
BOOLEAN
.
ensure
meaningful:
Result >= 1
Character_bits
:
INTEGER_32
{}
top
Number of bits in a value of type
CHARACTER
.
ensure
meaningful:
Result >= 1
large_enough:
{INTEGER_32 2} ^ Result >=
Maximum_character_code
Integer_bits
:
INTEGER_32
{}
top
Number of bits in a value of type INTEGER.
ensure
integer_definition:
Result = 32
Real_bits
:
INTEGER_32
is 64
constant attribute
{}
top
Number of bits in a value of type REAL.
Pointer_bits
:
INTEGER_32
{}
top
Number of bits in a value of type
POINTER
.
log
:
LOGGER
effective function
{}
top
There is one logger per concrete type; for performance reasons it is cached in each instance.
ensure
Result /= Void
log_memory__0_
:
LOGGER
writable attribute
{}
top
The cached logger.
The ugly name is intentional. Don't use directly.
in
:
WAITPID_INPUT
once function
{
ANY
}
top
job
:
WAITPID_JOB
once function
{
ANY
}
top