From d15da92375d52ca35e99192bee69c8f2167018b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ma=C3=ABl=20Madon?= <mael.madon@irit.fr> Date: Fri, 28 Oct 2022 08:53:11 +0200 Subject: [PATCH] test: add edge cases SABjson tested in batmen --- test/expected_output/load_platform.SABjson | 105 ++++++++++++++++++ test/expected_output/many_following.SABjson | 102 +++++++++++++++++ test/expected_output/many_preceding.SABjson | 102 +++++++++++++++++ .../many_start_sessions.SABjson | 86 ++++++++++++++ test/expected_output/no_session.SABjson | 5 + .../one_session_many_jobs.SABjson | 85 ++++++++++++++ test/expected_output/zero_think_time.SABjson | 38 +++++++ 7 files changed, 523 insertions(+) create mode 100644 test/expected_output/load_platform.SABjson create mode 100644 test/expected_output/many_following.SABjson create mode 100644 test/expected_output/many_preceding.SABjson create mode 100644 test/expected_output/many_start_sessions.SABjson create mode 100644 test/expected_output/no_session.SABjson create mode 100644 test/expected_output/one_session_many_jobs.SABjson create mode 100644 test/expected_output/zero_think_time.SABjson diff --git a/test/expected_output/load_platform.SABjson b/test/expected_output/load_platform.SABjson new file mode 100644 index 0000000..d035a6e --- /dev/null +++ b/test/expected_output/load_platform.SABjson @@ -0,0 +1,105 @@ +{ + "description": "Test feedback when platform is fully loaded.", + "nb_res": 16, + "sessions": [ + { + "id": 1, + "first_submit_time": 0.0, + "preceding_sessions": [], + "thinking_time_after_preceding_session": [], + "nb_jobs": 1, + "jobs": [ + { + "id": 1, + "profile": "1000", + "res": 16, + "subtime": 0.0, + "walltime": 2592000.0 + } + ] + }, + { + "id": 2, + "first_submit_time": 2000.0, + "preceding_sessions": [1], + "thinking_time_after_preceding_session": [1000], + "nb_jobs": 1, + "jobs": [ + { + "id": 2, + "profile": "1000", + "res": 16, + "subtime": 0.0, + "walltime": 2592000.0 + } + ] + }, + { + "id": 3, + "first_submit_time": 10000.0, + "preceding_sessions": [ + 2 + ], + "thinking_time_after_preceding_session": [ + 7000.0 + ], + "nb_jobs": 1, + "jobs": [ + { + "id": 3, + "profile": "1000", + "res": 16, + "subtime": 0.0, + "walltime": 2592000.0 + } + ] + }, + { + "id": 4, + "first_submit_time": 12000.0, + "preceding_sessions": [ + 3 + ], + "thinking_time_after_preceding_session": [ + 1000.0 + ], + "nb_jobs": 1, + "jobs": [ + { + "id": 4, + "profile": "1000", + "res": 16, + "subtime": 0.0, + "walltime": 2592000.0 + } + ] + }, + { + "id": 5, + "first_submit_time": 9000.0, + "preceding_sessions": [ + 2 + ], + "thinking_time_after_preceding_session": [ + 6000.0 + ], + "nb_jobs": 2, + "jobs": [ + { + "id": 5, + "profile": "5000", + "res": 16, + "subtime": 0.0, + "walltime": 2592000.0 + }, + { + "id": 6, + "profile": "5000", + "res": 16, + "subtime": 0.0, + "walltime": 2592000.0 + } + ] + } + ] +} \ No newline at end of file diff --git a/test/expected_output/many_following.SABjson b/test/expected_output/many_following.SABjson new file mode 100644 index 0000000..35a1e9c --- /dev/null +++ b/test/expected_output/many_following.SABjson @@ -0,0 +1,102 @@ +{ + "description": "A session (session 1) has five followers, four with a think time of 1000s and one with a think time of 2000s.", + "nb_res": 16, + "sessions": [ + { + "id": 1, + "first_submit_time": 0.0, + "preceding_sessions": [], + "thinking_time_after_preceding_session": [], + "nb_jobs": 1, + "jobs": [ + { + "id": 1, + "profile": "1000", + "res": 16, + "subtime": 0.0, + "walltime": 2592000.0 + } + ] + }, + { + "id": 2, + "first_submit_time": 2000.0, + "preceding_sessions": [1], + "thinking_time_after_preceding_session": [1000], + "nb_jobs": 1, + "jobs": [ + { + "id": 2, + "profile": "2000", + "res": 16, + "subtime": 0.0, + "walltime": 2592000.0 + } + ] + }, + { + "id": 3, + "first_submit_time": 2000.0, + "preceding_sessions": [1], + "thinking_time_after_preceding_session": [1000], + "nb_jobs": 1, + "jobs": [ + { + "id": 3, + "profile": "1000", + "res": 16, + "subtime": 0.0, + "walltime": 2592000.0 + } + ] + }, + { + "id": 4, + "first_submit_time": 2000.0, + "preceding_sessions": [1], + "thinking_time_after_preceding_session": [1000], + "nb_jobs": 1, + "jobs": [ + { + "id": 4, + "profile": "1000", + "res": 16, + "subtime": 0.0, + "walltime": 2592000.0 + } + ] + }, + { + "id": 5, + "first_submit_time": 2000.0, + "preceding_sessions": [1], + "thinking_time_after_preceding_session": [1000], + "nb_jobs": 1, + "jobs": [ + { + "id": 5, + "profile": "1000", + "res": 16, + "subtime": 0.0, + "walltime": 2592000.0 + } + ] + }, + { + "id": 6, + "first_submit_time": 3000.0, + "preceding_sessions": [1], + "thinking_time_after_preceding_session": [2000], + "nb_jobs": 1, + "jobs": [ + { + "id": 6, + "profile": "1000", + "res": 16, + "subtime": 0.0, + "walltime": 2592000.0 + } + ] + } + ] +} \ No newline at end of file diff --git a/test/expected_output/many_preceding.SABjson b/test/expected_output/many_preceding.SABjson new file mode 100644 index 0000000..8ca4d28 --- /dev/null +++ b/test/expected_output/many_preceding.SABjson @@ -0,0 +1,102 @@ +{ + "description": "A session (session 6) depends on five others, with a think time of 1000s.", + "nb_res": 16, + "sessions": [ + { + "id": 1, + "first_submit_time": 1000.0, + "preceding_sessions": [], + "thinking_time_after_preceding_session": [], + "nb_jobs": 1, + "jobs": [ + { + "id": 1, + "profile": "1000", + "res": 16, + "subtime": 0.0, + "walltime": 2592000.0 + } + ] + }, + { + "id": 2, + "first_submit_time": 1000.0, + "preceding_sessions": [], + "thinking_time_after_preceding_session": [], + "nb_jobs": 1, + "jobs": [ + { + "id": 2, + "profile": "2000", + "res": 16, + "subtime": 0.0, + "walltime": 2592000.0 + } + ] + }, + { + "id": 3, + "first_submit_time": 1000.0, + "preceding_sessions": [], + "thinking_time_after_preceding_session": [], + "nb_jobs": 1, + "jobs": [ + { + "id": 3, + "profile": "1000", + "res": 16, + "subtime": 0.0, + "walltime": 2592000.0 + } + ] + }, + { + "id": 4, + "first_submit_time": 1500.0, + "preceding_sessions": [], + "thinking_time_after_preceding_session": [], + "nb_jobs": 1, + "jobs": [ + { + "id": 4, + "profile": "1000", + "res": 16, + "subtime": 0.0, + "walltime": 2592000.0 + } + ] + }, + { + "id": 5, + "first_submit_time": 2000.0, + "preceding_sessions": [], + "thinking_time_after_preceding_session": [], + "nb_jobs": 1, + "jobs": [ + { + "id": 5, + "profile": "1000", + "res": 16, + "subtime": 0.0, + "walltime": 2592000.0 + } + ] + }, + { + "id": 6, + "first_submit_time": 2000.0, + "preceding_sessions": [1,2,3,4,5], + "thinking_time_after_preceding_session": [1000,1000,1000,1000,1000], + "nb_jobs": 1, + "jobs": [ + { + "id": 6, + "profile": "1000", + "res": 16, + "subtime": 0.0, + "walltime": 2592000.0 + } + ] + } + ] +} \ No newline at end of file diff --git a/test/expected_output/many_start_sessions.SABjson b/test/expected_output/many_start_sessions.SABjson new file mode 100644 index 0000000..2a48296 --- /dev/null +++ b/test/expected_output/many_start_sessions.SABjson @@ -0,0 +1,86 @@ +{ + "description": "Five start sessions with no dependency between them.", + "nb_res": 16, + "sessions": [ + { + "id": 1, + "first_submit_time": 1000.0, + "preceding_sessions": [], + "thinking_time_after_preceding_session": [], + "nb_jobs": 1, + "jobs": [ + { + "id": 1, + "profile": "1000", + "res": 16, + "subtime": 0.0, + "walltime": 2592000.0 + } + ] + }, + { + "id": 2, + "first_submit_time": 1000.0, + "preceding_sessions": [], + "thinking_time_after_preceding_session": [], + "nb_jobs": 1, + "jobs": [ + { + "id": 2, + "profile": "2000", + "res": 16, + "subtime": 0.0, + "walltime": 2592000.0 + } + ] + }, + { + "id": 3, + "first_submit_time": 1000.0, + "preceding_sessions": [], + "thinking_time_after_preceding_session": [], + "nb_jobs": 1, + "jobs": [ + { + "id": 3, + "profile": "1000", + "res": 16, + "subtime": 0.0, + "walltime": 2592000.0 + } + ] + }, + { + "id": 4, + "first_submit_time": 1500.0, + "preceding_sessions": [], + "thinking_time_after_preceding_session": [], + "nb_jobs": 1, + "jobs": [ + { + "id": 4, + "profile": "1000", + "res": 16, + "subtime": 0.0, + "walltime": 2592000.0 + } + ] + }, + { + "id": 5, + "first_submit_time": 2000.0, + "preceding_sessions": [], + "thinking_time_after_preceding_session": [], + "nb_jobs": 1, + "jobs": [ + { + "id": 5, + "profile": "1000", + "res": 16, + "subtime": 0.0, + "walltime": 2592000.0 + } + ] + } + ] +} \ No newline at end of file diff --git a/test/expected_output/no_session.SABjson b/test/expected_output/no_session.SABjson new file mode 100644 index 0000000..12a6e78 --- /dev/null +++ b/test/expected_output/no_session.SABjson @@ -0,0 +1,5 @@ +{ + "description": "Empty SABjson.", + "nb_res": 0, + "sessions": [] +} \ No newline at end of file diff --git a/test/expected_output/one_session_many_jobs.SABjson b/test/expected_output/one_session_many_jobs.SABjson new file mode 100644 index 0000000..b3f9556 --- /dev/null +++ b/test/expected_output/one_session_many_jobs.SABjson @@ -0,0 +1,85 @@ +{ + "description": "One session that contains ten jobs.", + "nb_res": 16, + "sessions": [ + { + "id": 1, + "first_submit_time": 0.0, + "preceding_sessions": [], + "thinking_time_after_preceding_session": [], + "nb_jobs": 10, + "jobs": [ + { + "id": 750, + "profile": "450", + "res": 16, + "subtime": 0.0, + "walltime": 86400.0 + }, + { + "id": 751, + "profile": "210", + "res": 16, + "subtime": 591.0, + "walltime": 86400.0 + }, + { + "id": 752, + "profile": "81540", + "res": 16, + "subtime": 767.0, + "walltime": 163068.0 + }, + { + "id": 757, + "profile": "86140", + "res": 16, + "subtime": 895.0, + "walltime": 172260.0 + }, + { + "id": 758, + "profile": "86130", + "res": 16, + "subtime": 959.0, + "walltime": 172250.0 + }, + { + "id": 768, + "profile": "920", + "res": 16, + "subtime": 1537.0, + "walltime": 86400.0 + }, + { + "id": 781, + "profile": "290", + "res": 16, + "subtime": 1841.0, + "walltime": 86400.0 + }, + { + "id": 791, + "profile": "86130", + "res": 16, + "subtime": 2068.0, + "walltime": 172248.0 + }, + { + "id": 794, + "profile": "86120", + "res": 16, + "subtime": 2149.0, + "walltime": 172226.0 + }, + { + "id": 795, + "profile": "86130", + "res": 16, + "subtime": 2533.0, + "walltime": 172246.0 + } + ] + } + ] +} \ No newline at end of file diff --git a/test/expected_output/zero_think_time.SABjson b/test/expected_output/zero_think_time.SABjson new file mode 100644 index 0000000..f88e328 --- /dev/null +++ b/test/expected_output/zero_think_time.SABjson @@ -0,0 +1,38 @@ +{ + "description": "Two sessions following each other, with a think time of 0s between them.", + "nb_res": 16, + "sessions": [ + { + "id": 1, + "first_submit_time": 0.0, + "preceding_sessions": [], + "thinking_time_after_preceding_session": [], + "nb_jobs": 1, + "jobs": [ + { + "id": 1, + "profile": "1000", + "res": 16, + "subtime": 0.0, + "walltime": 2592000.0 + } + ] + }, + { + "id": 2, + "first_submit_time": 2000.0, + "preceding_sessions": [1], + "thinking_time_after_preceding_session": [0], + "nb_jobs": 1, + "jobs": [ + { + "id": 2, + "profile": "2000", + "res": 16, + "subtime": 0.0, + "walltime": 2592000.0 + } + ] + } + ] +} \ No newline at end of file -- GitLab