Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
libSDL
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
PocketInsanity
libSDL
Commits
77405acd
Commit
77405acd
authored
Jul 31, 2011
by
Markus Kauppila
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed harness seed generation based on CR.
Fixed a bug from SetUpLogger() function.
parent
be0b32e4
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
40 additions
and
38 deletions
+40
-38
logger.h
test/test-automation/logger.h
+1
-1
runner.c
test/test-automation/runner.c
+39
-37
No files found.
test/test-automation/logger.h
View file @
77405acd
...
@@ -38,7 +38,7 @@ typedef struct LoggerData {
...
@@ -38,7 +38,7 @@ typedef struct LoggerData {
//!< Logging level of the logger (such as VERBOSE)
//!< Logging level of the logger (such as VERBOSE)
Level
level
;
Level
level
;
//!< Some custom data that a logger needs
//!< Some custom data that a logger needs
void
*
custom
;
char
*
custom
;
}
LoggerData
;
}
LoggerData
;
/*!
/*!
...
...
test/test-automation/runner.c
View file @
77405acd
...
@@ -31,7 +31,6 @@
...
@@ -31,7 +31,6 @@
#include "fuzzer/fuzzer.h"
#include "fuzzer/fuzzer.h"
#include "config.h"
#include "config.h"
#include "SDL_test.h"
#include "SDL_test.h"
...
@@ -94,6 +93,7 @@ char testcase_name_substring[NAME_BUFFER_SIZE];
...
@@ -94,6 +93,7 @@ char testcase_name_substring[NAME_BUFFER_SIZE];
//! Name for user-supplied XSL style sheet name
//! Name for user-supplied XSL style sheet name
char
xsl_stylesheet_name
[
NAME_BUFFER_SIZE
];
char
xsl_stylesheet_name
[
NAME_BUFFER_SIZE
];
//! User-suppled timeout value for tests
//! User-suppled timeout value for tests
int
universal_timeout
=
-
1
;
int
universal_timeout
=
-
1
;
...
@@ -106,11 +106,9 @@ int universal_timeout = -1;
...
@@ -106,11 +106,9 @@ int universal_timeout = -1;
//! Default directory of the test suites
//! Default directory of the test suites
#define DEFAULT_LOG_FILENAME "runner"
#define DEFAULT_LOG_FILENAME "runner"
//! Fuzzer seed for the harness
//! Fuzzer seed for the harness
char
*
runSeed
=
NULL
;
char
*
runSeed
=
NULL
;
//! Variable is used to pass the generated execution key to a test
//! Variable is used to pass the generated execution key to a test
int
globalExecKey
=
0
;
int
globalExecKey
=
0
;
...
@@ -845,7 +843,8 @@ HandleChildProcessReturnValue(int stat_lock)
...
@@ -845,7 +843,8 @@ HandleChildProcessReturnValue(int stat_lock)
/*!
/*!
* Generates a random run seed for the harness.
* Generates a random run seed for the harness. Seed
* can contain characters 0-9A-Z
*
*
* \param length The length of the generated seed
* \param length The length of the generated seed
*
*
...
@@ -859,7 +858,7 @@ GenerateRunSeed(const int length)
...
@@ -859,7 +858,7 @@ GenerateRunSeed(const int length)
return
NULL
;
return
NULL
;
}
}
char
*
seed
=
SDL_malloc
(
length
*
sizeof
(
8
));
char
*
seed
=
SDL_malloc
(
(
length
+
1
)
*
sizeof
(
char
));
if
(
seed
==
NULL
)
{
if
(
seed
==
NULL
)
{
fprintf
(
stderr
,
"Error: malloc for run seed failed
\n
"
);
fprintf
(
stderr
,
"Error: malloc for run seed failed
\n
"
);
return
NULL
;
return
NULL
;
...
@@ -870,19 +869,13 @@ GenerateRunSeed(const int length)
...
@@ -870,19 +869,13 @@ GenerateRunSeed(const int length)
utl_randomInitTime
(
&
randomContext
);
utl_randomInitTime
(
&
randomContext
);
int
counter
=
0
;
int
counter
=
0
;
for
(
;
counter
<
length
;
++
counter
)
{
for
(
;
counter
<
length
-
1
;
++
counter
)
{
int
number
=
abs
(
utl_random
(
&
randomContext
));
int
number
=
abs
(
utl_random
(
&
randomContext
));
char
ch
=
(
char
)
(
number
%
(
122
-
48
))
+
48
;
char
ch
=
(
char
)
(
number
%
(
91
-
48
))
+
48
;
// Skip all the special characters so the run seed
// can be used to form a valid filename.
// A lot more characters are skipped than necessary.
if
(
ch
>=
58
&&
ch
<=
64
)
{
if
(
ch
>=
58
&&
ch
<=
64
)
{
ch
=
65
;
ch
=
65
;
}
}
if
(
ch
>=
91
&&
ch
<=
96
)
{
ch
=
97
;
}
seed
[
counter
]
=
ch
;
seed
[
counter
]
=
ch
;
}
}
...
@@ -897,10 +890,10 @@ GenerateRunSeed(const int length)
...
@@ -897,10 +890,10 @@ GenerateRunSeed(const int length)
*
*
* \return Logger data structure (that needs be deallocated)
* \return Logger data structure (that needs be deallocated)
*/
*/
void
*
LoggerData
*
SetUpLogger
()
SetUpLogger
()
{
{
LoggerData
*
loggerData
=
SDL_malloc
(
sizeof
(
l
oggerData
));
LoggerData
*
loggerData
=
SDL_malloc
(
sizeof
(
L
oggerData
));
if
(
loggerData
==
NULL
)
{
if
(
loggerData
==
NULL
)
{
fprintf
(
stderr
,
"Error: Logger data structure not allocated."
);
fprintf
(
stderr
,
"Error: Logger data structure not allocated."
);
return
NULL
;
return
NULL
;
...
@@ -913,7 +906,9 @@ SetUpLogger()
...
@@ -913,7 +906,9 @@ SetUpLogger()
loggerData
->
stdoutEnabled
=
1
;
loggerData
->
stdoutEnabled
=
1
;
loggerData
->
filename
=
NULL
;
loggerData
->
filename
=
NULL
;
}
else
{
}
else
{
const
char
*
extension
=
(
xml_enabled
?
"xml"
:
"log"
);
loggerData
->
stdoutEnabled
=
0
;
const
char
*
extension
=
(
xml_enabled
?
"xml"
:
"log"
);
/* Combine and create directory for log file */
/* Combine and create directory for log file */
// log_directory + log_basename + seed + . + type
// log_directory + log_basename + seed + . + type
...
@@ -927,7 +922,8 @@ SetUpLogger()
...
@@ -927,7 +922,8 @@ SetUpLogger()
mkdir
(
log_directory
,
mode
);
mkdir
(
log_directory
,
mode
);
// couple of extras bytes for '/', '-', '.' and '\0' at the end
// couple of extras bytes for '/', '-', '.' and '\0' at the end
const
int
length
=
directoryLength
+
basenameLength
+
seedLength
+
extensionLength
+
4
;
const
int
length
=
directoryLength
+
basenameLength
+
seedLength
+
extensionLength
+
4
;
char
*
filename
=
SDL_malloc
(
length
);
char
*
filename
=
SDL_malloc
(
length
);
if
(
filename
==
NULL
)
{
if
(
filename
==
NULL
)
{
SDL_free
(
loggerData
);
SDL_free
(
loggerData
);
...
@@ -935,12 +931,27 @@ SetUpLogger()
...
@@ -935,12 +931,27 @@ SetUpLogger()
fprintf
(
stderr
,
"Error: Failed to allocate memory for filename of log"
);
fprintf
(
stderr
,
"Error: Failed to allocate memory for filename of log"
);
return
NULL
;
return
NULL
;
}
}
memset
(
filename
,
0
,
length
);
SDL_snprintf
(
filename
,
length
,
"%s/%s-%s.%s"
,
log_directory
,
log_basename
,
runSeed
,
extension
);
SDL_snprintf
(
filename
,
length
,
"%s/%s-%s.%s"
,
log_directory
,
log_basename
,
runSeed
,
extension
);
loggerData
->
filename
=
filename
;
loggerData
->
filename
=
filename
;
}
}
if
(
xml_enabled
)
{
char
*
sheet
=
NULL
;
if
(
xsl_enabled
)
{
sheet
=
"style.xsl"
;
// default style sheet;
}
if
(
custom_xsl_enabled
)
{
sheet
=
xsl_stylesheet_name
;
}
loggerData
->
custom
=
sheet
;
}
if
(
xml_enabled
)
{
if
(
xml_enabled
)
{
RunStarted
=
XMLRunStarted
;
RunStarted
=
XMLRunStarted
;
RunEnded
=
XMLRunEnded
;
RunEnded
=
XMLRunEnded
;
...
@@ -956,17 +967,6 @@ SetUpLogger()
...
@@ -956,17 +967,6 @@ SetUpLogger()
AssertSummary
=
XMLAssertSummary
;
AssertSummary
=
XMLAssertSummary
;
Log
=
XMLLog
;
Log
=
XMLLog
;
char
*
sheet
=
NULL
;
if
(
xsl_enabled
)
{
sheet
=
"style.xsl"
;
// default style sheet;
}
if
(
custom_xsl_enabled
)
{
sheet
=
xsl_stylesheet_name
;
}
loggerData
->
custom
=
sheet
;
}
else
{
}
else
{
RunStarted
=
PlainRunStarted
;
RunStarted
=
PlainRunStarted
;
RunEnded
=
PlainRunEnded
;
RunEnded
=
PlainRunEnded
;
...
@@ -1236,6 +1236,8 @@ main(int argc, char *argv[])
...
@@ -1236,6 +1236,8 @@ main(int argc, char *argv[])
memset
(
selected_test_name
,
0
,
NAME_BUFFER_SIZE
);
memset
(
selected_test_name
,
0
,
NAME_BUFFER_SIZE
);
memset
(
selected_suite_name
,
0
,
NAME_BUFFER_SIZE
);
memset
(
selected_suite_name
,
0
,
NAME_BUFFER_SIZE
);
memset
(
testcase_name_substring
,
0
,
NAME_BUFFER_SIZE
);
memset
(
testcase_name_substring
,
0
,
NAME_BUFFER_SIZE
);
memset
(
xsl_stylesheet_name
,
0
,
NAME_BUFFER_SIZE
);
ParseOptions
(
argc
,
argv
);
ParseOptions
(
argc
,
argv
);
...
@@ -1248,14 +1250,6 @@ main(int argc, char *argv[])
...
@@ -1248,14 +1250,6 @@ main(int argc, char *argv[])
char
*
extension
=
"dylib"
;
char
*
extension
=
"dylib"
;
#endif
#endif
if
(
userRunSeed
==
0
)
{
runSeed
=
GenerateRunSeed
(
16
);
if
(
runSeed
==
NULL
)
{
fprintf
(
stderr
,
"Error: Generating harness seed failed
\n
"
);
return
2
;
}
}
const
Uint32
startTicks
=
SDL_GetTicks
();
const
Uint32
startTicks
=
SDL_GetTicks
();
TestSuiteReference
*
suites
=
ScanForTestSuites
(
DEFAULT_TEST_DIRECTORY
,
extension
);
TestSuiteReference
*
suites
=
ScanForTestSuites
(
DEFAULT_TEST_DIRECTORY
,
extension
);
...
@@ -1283,6 +1277,14 @@ main(int argc, char *argv[])
...
@@ -1283,6 +1277,14 @@ main(int argc, char *argv[])
return
0
;
return
0
;
}
}
if
(
userRunSeed
==
0
)
{
runSeed
=
GenerateRunSeed
(
16
);
if
(
runSeed
==
NULL
)
{
fprintf
(
stderr
,
"Error: Generating harness seed failed
\n
"
);
return
2
;
}
}
LoggerData
*
loggerData
=
SetUpLogger
();
LoggerData
*
loggerData
=
SetUpLogger
();
if
(
log_stdout_enabled
==
0
)
{
if
(
log_stdout_enabled
==
0
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment