From c9823cc0c25ae0634b9ab2a8ba4788e8278ef317 Mon Sep 17 00:00:00 2001 From: RaymondDashWu Date: Tue, 24 Oct 2023 15:43:11 -0700 Subject: [PATCH 01/13] [ADD] tests for odd_even_transposition_parallel --- sorts/odd_even_transposition_parallel.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/sorts/odd_even_transposition_parallel.py b/sorts/odd_even_transposition_parallel.py index 9e0d228bdc5b..d7d76bd1df68 100644 --- a/sorts/odd_even_transposition_parallel.py +++ b/sorts/odd_even_transposition_parallel.py @@ -72,6 +72,30 @@ def oe_process(position, value, l_send, r_send, lr_cv, rr_cv, result_pipe): def odd_even_transposition(arr): + """ + >>> odd_even_transposition(list(range(11)[::-1])) == sorted(list(range(11)[::-1])) + True + >>> odd_even_transposition(["a", "x", "c"]) == sorted(["x", "a", "c"]) + True + >>> odd_even_transposition([1.9, 42.0, 2.8]) == sorted([1.9, 42.0, 2.8]) + True + >>> odd_even_transposition([False, True, False]) == sorted([False, False, True]) + True + >>> odd_even_transposition([1, 32.0, 9]) == sorted([False, False, True]) + False + >>> odd_even_transposition([1, 32.0, 9]) == sorted([1.0, 32, 9.0]) + True + >>> unsorted_list = [-442, -98, -554, 266, -491, 985, -53, -529, 82, -429] + >>> odd_even_transposition(unsorted_list) == sorted(unsorted_list) + True + >>> unsorted_list = [-442, -98, -554, 266, -491, 985, -53, -529, 82, -429] + >>> odd_even_transposition(unsorted_list) == sorted(unsorted_list + [1]) + False + >>> odd_even_transposition([False, "a", 8]) == sorted([False, "a", 8]) + Traceback (most recent call last): + ... + TypeError: '>' not supported between instances of 'bool' and 'str' + """ process_array_ = [] result_pipe = [] # initialize the list of pipes where the values will be retrieved From e6c73fc04108ee85f069cb5d98495d998e2de7b9 Mon Sep 17 00:00:00 2001 From: RaymondDashWu Date: Tue, 24 Oct 2023 21:50:53 -0700 Subject: [PATCH 02/13] adding another test because build failed 6 hrs --- sorts/odd_even_transposition_parallel.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sorts/odd_even_transposition_parallel.py b/sorts/odd_even_transposition_parallel.py index d7d76bd1df68..11216194da63 100644 --- a/sorts/odd_even_transposition_parallel.py +++ b/sorts/odd_even_transposition_parallel.py @@ -95,6 +95,10 @@ def odd_even_transposition(arr): Traceback (most recent call last): ... TypeError: '>' not supported between instances of 'bool' and 'str' + >>> odd_even_transposition([8, "a"]) == sorted(["a", 8]) + Traceback (most recent call last): + ... + TypeError: '<' not supported between instances of 'str' and 'int' """ process_array_ = [] result_pipe = [] From 863acc8adaeca9a7accbbcb7bb7b358a3a9e36bf Mon Sep 17 00:00:00 2001 From: RaymondDashWu Date: Wed, 25 Oct 2023 13:09:59 -0700 Subject: [PATCH 03/13] comment out all tests to see if it fails --- sorts/odd_even_transposition_parallel.py | 52 ++++++++++++------------ 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/sorts/odd_even_transposition_parallel.py b/sorts/odd_even_transposition_parallel.py index 11216194da63..82c07f12bd90 100644 --- a/sorts/odd_even_transposition_parallel.py +++ b/sorts/odd_even_transposition_parallel.py @@ -73,32 +73,32 @@ def oe_process(position, value, l_send, r_send, lr_cv, rr_cv, result_pipe): def odd_even_transposition(arr): """ - >>> odd_even_transposition(list(range(11)[::-1])) == sorted(list(range(11)[::-1])) - True - >>> odd_even_transposition(["a", "x", "c"]) == sorted(["x", "a", "c"]) - True - >>> odd_even_transposition([1.9, 42.0, 2.8]) == sorted([1.9, 42.0, 2.8]) - True - >>> odd_even_transposition([False, True, False]) == sorted([False, False, True]) - True - >>> odd_even_transposition([1, 32.0, 9]) == sorted([False, False, True]) - False - >>> odd_even_transposition([1, 32.0, 9]) == sorted([1.0, 32, 9.0]) - True - >>> unsorted_list = [-442, -98, -554, 266, -491, 985, -53, -529, 82, -429] - >>> odd_even_transposition(unsorted_list) == sorted(unsorted_list) - True - >>> unsorted_list = [-442, -98, -554, 266, -491, 985, -53, -529, 82, -429] - >>> odd_even_transposition(unsorted_list) == sorted(unsorted_list + [1]) - False - >>> odd_even_transposition([False, "a", 8]) == sorted([False, "a", 8]) - Traceback (most recent call last): - ... - TypeError: '>' not supported between instances of 'bool' and 'str' - >>> odd_even_transposition([8, "a"]) == sorted(["a", 8]) - Traceback (most recent call last): - ... - TypeError: '<' not supported between instances of 'str' and 'int' + # >>> odd_even_transposition(list(range(10)[::-1])) == sorted(list(range(10)[::-1])) + # True + # >>> odd_even_transposition(["a", "x", "c"]) == sorted(["x", "a", "c"]) + # True + # >>> odd_even_transposition([1.9, 42.0, 2.8]) == sorted([1.9, 42.0, 2.8]) + # True + # >>> odd_even_transposition([False, True, False]) == sorted([False, False, True]) + # True + # >>> odd_even_transposition([1, 32.0, 9]) == sorted([False, False, True]) + # False + # >>> odd_even_transposition([1, 32.0, 9]) == sorted([1.0, 32, 9.0]) + # True + # >>> unsorted_list = [-442, -98, -554, 266, -491, 985, -53, -529, 82, -429] + # >>> odd_even_transposition(unsorted_list) == sorted(unsorted_list) + # True + # >>> unsorted_list = [-442, -98, -554, 266, -491, 985, -53, -529, 82, -429] + # >>> odd_even_transposition(unsorted_list) == sorted(unsorted_list + [1]) + # False + # >>> odd_even_transposition([False, "a", 8]) == sorted([False, "a", 8]) + # Traceback (most recent call last): + # ... + # TypeError: '>' not supported between instances of 'bool' and 'str' + # >>> odd_even_transposition([8, "a"]) == sorted(["a", 8]) + # Traceback (most recent call last): + # ... + # TypeError: '<' not supported between instances of 'str' and 'int' """ process_array_ = [] result_pipe = [] From 4c4571c5b4ea502efef0252b4f08e2ec0ad2d299 Mon Sep 17 00:00:00 2001 From: RaymondDashWu Date: Wed, 25 Oct 2023 13:13:48 -0700 Subject: [PATCH 04/13] list(range(10)[::-1]) test uncommented --- sorts/odd_even_transposition_parallel.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sorts/odd_even_transposition_parallel.py b/sorts/odd_even_transposition_parallel.py index 82c07f12bd90..ed35ae96a3c8 100644 --- a/sorts/odd_even_transposition_parallel.py +++ b/sorts/odd_even_transposition_parallel.py @@ -73,8 +73,8 @@ def oe_process(position, value, l_send, r_send, lr_cv, rr_cv, result_pipe): def odd_even_transposition(arr): """ - # >>> odd_even_transposition(list(range(10)[::-1])) == sorted(list(range(10)[::-1])) - # True + >>> odd_even_transposition(list(range(10)[::-1])) == sorted(list(range(10)[::-1])) + True # >>> odd_even_transposition(["a", "x", "c"]) == sorted(["x", "a", "c"]) # True # >>> odd_even_transposition([1.9, 42.0, 2.8]) == sorted([1.9, 42.0, 2.8]) From efe763c9af95209f547ed1c06f8864cfd42e072f Mon Sep 17 00:00:00 2001 From: RaymondDashWu Date: Wed, 25 Oct 2023 13:23:36 -0700 Subject: [PATCH 05/13] [a, x, c] test uncommented --- sorts/odd_even_transposition_parallel.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sorts/odd_even_transposition_parallel.py b/sorts/odd_even_transposition_parallel.py index ed35ae96a3c8..666d827e2582 100644 --- a/sorts/odd_even_transposition_parallel.py +++ b/sorts/odd_even_transposition_parallel.py @@ -73,10 +73,10 @@ def oe_process(position, value, l_send, r_send, lr_cv, rr_cv, result_pipe): def odd_even_transposition(arr): """ - >>> odd_even_transposition(list(range(10)[::-1])) == sorted(list(range(10)[::-1])) - True - # >>> odd_even_transposition(["a", "x", "c"]) == sorted(["x", "a", "c"]) + # >>> odd_even_transposition(list(range(10)[::-1])) == sorted(list(range(10)[::-1])) # True + >>> odd_even_transposition(["a", "x", "c"]) == sorted(["x", "a", "c"]) + True # >>> odd_even_transposition([1.9, 42.0, 2.8]) == sorted([1.9, 42.0, 2.8]) # True # >>> odd_even_transposition([False, True, False]) == sorted([False, False, True]) From 5fe87a5d9170cda3a73585afac5b69e50d1de0cb Mon Sep 17 00:00:00 2001 From: RaymondDashWu Date: Wed, 25 Oct 2023 13:32:10 -0700 Subject: [PATCH 06/13] [1.9, 42.0, 2.8] test uncommented --- sorts/odd_even_transposition_parallel.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sorts/odd_even_transposition_parallel.py b/sorts/odd_even_transposition_parallel.py index 666d827e2582..68b4253082e1 100644 --- a/sorts/odd_even_transposition_parallel.py +++ b/sorts/odd_even_transposition_parallel.py @@ -75,10 +75,10 @@ def odd_even_transposition(arr): """ # >>> odd_even_transposition(list(range(10)[::-1])) == sorted(list(range(10)[::-1])) # True - >>> odd_even_transposition(["a", "x", "c"]) == sorted(["x", "a", "c"]) - True - # >>> odd_even_transposition([1.9, 42.0, 2.8]) == sorted([1.9, 42.0, 2.8]) + # >>> odd_even_transposition(["a", "x", "c"]) == sorted(["x", "a", "c"]) # True + >>> odd_even_transposition([1.9, 42.0, 2.8]) == sorted([1.9, 42.0, 2.8]) + True # >>> odd_even_transposition([False, True, False]) == sorted([False, False, True]) # True # >>> odd_even_transposition([1, 32.0, 9]) == sorted([False, False, True]) From da3db5ecdd5d2a3a6d2ab3dcf45a7d251ccb7025 Mon Sep 17 00:00:00 2001 From: RaymondDashWu Date: Wed, 25 Oct 2023 13:36:44 -0700 Subject: [PATCH 07/13] [False, True, False] test uncommented --- sorts/odd_even_transposition_parallel.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sorts/odd_even_transposition_parallel.py b/sorts/odd_even_transposition_parallel.py index 68b4253082e1..13f490be76a6 100644 --- a/sorts/odd_even_transposition_parallel.py +++ b/sorts/odd_even_transposition_parallel.py @@ -77,10 +77,10 @@ def odd_even_transposition(arr): # True # >>> odd_even_transposition(["a", "x", "c"]) == sorted(["x", "a", "c"]) # True - >>> odd_even_transposition([1.9, 42.0, 2.8]) == sorted([1.9, 42.0, 2.8]) - True - # >>> odd_even_transposition([False, True, False]) == sorted([False, False, True]) + # >>> odd_even_transposition([1.9, 42.0, 2.8]) == sorted([1.9, 42.0, 2.8]) # True + >>> odd_even_transposition([False, True, False]) == sorted([False, False, True]) + True # >>> odd_even_transposition([1, 32.0, 9]) == sorted([False, False, True]) # False # >>> odd_even_transposition([1, 32.0, 9]) == sorted([1.0, 32, 9.0]) From fb363a077cfb70f4f02e3a570e828f857d302e9d Mon Sep 17 00:00:00 2001 From: RaymondDashWu Date: Wed, 25 Oct 2023 13:37:10 -0700 Subject: [PATCH 08/13] [1, 32.0, 9] test uncommented --- sorts/odd_even_transposition_parallel.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sorts/odd_even_transposition_parallel.py b/sorts/odd_even_transposition_parallel.py index 13f490be76a6..2af948f041e7 100644 --- a/sorts/odd_even_transposition_parallel.py +++ b/sorts/odd_even_transposition_parallel.py @@ -79,10 +79,10 @@ def odd_even_transposition(arr): # True # >>> odd_even_transposition([1.9, 42.0, 2.8]) == sorted([1.9, 42.0, 2.8]) # True - >>> odd_even_transposition([False, True, False]) == sorted([False, False, True]) - True - # >>> odd_even_transposition([1, 32.0, 9]) == sorted([False, False, True]) - # False + # >>> odd_even_transposition([False, True, False]) == sorted([False, False, True]) + # True + >>> odd_even_transposition([1, 32.0, 9]) == sorted([False, False, True]) + False # >>> odd_even_transposition([1, 32.0, 9]) == sorted([1.0, 32, 9.0]) # True # >>> unsorted_list = [-442, -98, -554, 266, -491, 985, -53, -529, 82, -429] From c1b711fbbcd94a74bac9243188fdb50d8f2ba1a2 Mon Sep 17 00:00:00 2001 From: RaymondDashWu Date: Wed, 25 Oct 2023 13:37:37 -0700 Subject: [PATCH 09/13] [1, 32.0, 9] test uncommented --- sorts/odd_even_transposition_parallel.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sorts/odd_even_transposition_parallel.py b/sorts/odd_even_transposition_parallel.py index 2af948f041e7..73b7fa4f8c77 100644 --- a/sorts/odd_even_transposition_parallel.py +++ b/sorts/odd_even_transposition_parallel.py @@ -81,10 +81,10 @@ def odd_even_transposition(arr): # True # >>> odd_even_transposition([False, True, False]) == sorted([False, False, True]) # True - >>> odd_even_transposition([1, 32.0, 9]) == sorted([False, False, True]) - False - # >>> odd_even_transposition([1, 32.0, 9]) == sorted([1.0, 32, 9.0]) - # True + # >>> odd_even_transposition([1, 32.0, 9]) == sorted([False, False, True]) + # False + >>> odd_even_transposition([1, 32.0, 9]) == sorted([1.0, 32, 9.0]) + True # >>> unsorted_list = [-442, -98, -554, 266, -491, 985, -53, -529, 82, -429] # >>> odd_even_transposition(unsorted_list) == sorted(unsorted_list) # True From d863f86a7e1112a13c9665d471ea254bb07cc635 Mon Sep 17 00:00:00 2001 From: RaymondDashWu Date: Wed, 25 Oct 2023 13:38:07 -0700 Subject: [PATCH 10/13] [-442, -98, -554, 266, -491, 985, -53, -529, 82, -429] test uncommented --- sorts/odd_even_transposition_parallel.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sorts/odd_even_transposition_parallel.py b/sorts/odd_even_transposition_parallel.py index 73b7fa4f8c77..0ce33a6c9a65 100644 --- a/sorts/odd_even_transposition_parallel.py +++ b/sorts/odd_even_transposition_parallel.py @@ -83,11 +83,11 @@ def odd_even_transposition(arr): # True # >>> odd_even_transposition([1, 32.0, 9]) == sorted([False, False, True]) # False - >>> odd_even_transposition([1, 32.0, 9]) == sorted([1.0, 32, 9.0]) - True - # >>> unsorted_list = [-442, -98, -554, 266, -491, 985, -53, -529, 82, -429] - # >>> odd_even_transposition(unsorted_list) == sorted(unsorted_list) + # >>> odd_even_transposition([1, 32.0, 9]) == sorted([1.0, 32, 9.0]) # True + >>> unsorted_list = [-442, -98, -554, 266, -491, 985, -53, -529, 82, -429] + >>> odd_even_transposition(unsorted_list) == sorted(unsorted_list) + True # >>> unsorted_list = [-442, -98, -554, 266, -491, 985, -53, -529, 82, -429] # >>> odd_even_transposition(unsorted_list) == sorted(unsorted_list + [1]) # False From 5ba4627339260ec05fa9fb597bcaa0da9d3e46d0 Mon Sep 17 00:00:00 2001 From: RaymondDashWu Date: Fri, 27 Oct 2023 12:08:37 -0700 Subject: [PATCH 11/13] test non global lock --- sorts/odd_even_transposition_parallel.py | 34 ++++++++++++------------ 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/sorts/odd_even_transposition_parallel.py b/sorts/odd_even_transposition_parallel.py index 0ce33a6c9a65..654115820925 100644 --- a/sorts/odd_even_transposition_parallel.py +++ b/sorts/odd_even_transposition_parallel.py @@ -13,7 +13,7 @@ from multiprocessing import Lock, Pipe, Process # lock used to ensure that two processes do not access a pipe at the same time -process_lock = Lock() +# process_lock = Lock() """ The function run by the processes that sorts the list @@ -28,7 +28,7 @@ def oe_process(position, value, l_send, r_send, lr_cv, rr_cv, result_pipe): - global process_lock + process_lock = Lock() # we perform n swaps since after n swaps we know we are sorted # we *could* stop early if we are sorted already, but it takes as long to @@ -73,24 +73,24 @@ def oe_process(position, value, l_send, r_send, lr_cv, rr_cv, result_pipe): def odd_even_transposition(arr): """ - # >>> odd_even_transposition(list(range(10)[::-1])) == sorted(list(range(10)[::-1])) - # True - # >>> odd_even_transposition(["a", "x", "c"]) == sorted(["x", "a", "c"]) - # True - # >>> odd_even_transposition([1.9, 42.0, 2.8]) == sorted([1.9, 42.0, 2.8]) - # True - # >>> odd_even_transposition([False, True, False]) == sorted([False, False, True]) - # True - # >>> odd_even_transposition([1, 32.0, 9]) == sorted([False, False, True]) - # False - # >>> odd_even_transposition([1, 32.0, 9]) == sorted([1.0, 32, 9.0]) - # True + >>> odd_even_transposition(list(range(10)[::-1])) == sorted(list(range(10)[::-1])) + True + >>> odd_even_transposition(["a", "x", "c"]) == sorted(["x", "a", "c"]) + True + >>> odd_even_transposition([1.9, 42.0, 2.8]) == sorted([1.9, 42.0, 2.8]) + True + >>> odd_even_transposition([False, True, False]) == sorted([False, False, True]) + True + >>> odd_even_transposition([1, 32.0, 9]) == sorted([False, False, True]) + False + >>> odd_even_transposition([1, 32.0, 9]) == sorted([1.0, 32, 9.0]) + True >>> unsorted_list = [-442, -98, -554, 266, -491, 985, -53, -529, 82, -429] >>> odd_even_transposition(unsorted_list) == sorted(unsorted_list) True - # >>> unsorted_list = [-442, -98, -554, 266, -491, 985, -53, -529, 82, -429] - # >>> odd_even_transposition(unsorted_list) == sorted(unsorted_list + [1]) - # False + >>> unsorted_list = [-442, -98, -554, 266, -491, 985, -53, -529, 82, -429] + >>> odd_even_transposition(unsorted_list) == sorted(unsorted_list + [1]) + False # >>> odd_even_transposition([False, "a", 8]) == sorted([False, "a", 8]) # Traceback (most recent call last): # ... From d62a0a14aff1ab41b27c5dda134936133f83eec6 Mon Sep 17 00:00:00 2001 From: RaymondDashWu Date: Fri, 27 Oct 2023 12:38:06 -0700 Subject: [PATCH 12/13] [DEL] Testing multiple data types. Couldn't get doctest to work --- sorts/odd_even_transposition_parallel.py | 8 -------- 1 file changed, 8 deletions(-) diff --git a/sorts/odd_even_transposition_parallel.py b/sorts/odd_even_transposition_parallel.py index 654115820925..2ed33e92558b 100644 --- a/sorts/odd_even_transposition_parallel.py +++ b/sorts/odd_even_transposition_parallel.py @@ -91,14 +91,6 @@ def odd_even_transposition(arr): >>> unsorted_list = [-442, -98, -554, 266, -491, 985, -53, -529, 82, -429] >>> odd_even_transposition(unsorted_list) == sorted(unsorted_list + [1]) False - # >>> odd_even_transposition([False, "a", 8]) == sorted([False, "a", 8]) - # Traceback (most recent call last): - # ... - # TypeError: '>' not supported between instances of 'bool' and 'str' - # >>> odd_even_transposition([8, "a"]) == sorted(["a", 8]) - # Traceback (most recent call last): - # ... - # TypeError: '<' not supported between instances of 'str' and 'int' """ process_array_ = [] result_pipe = [] From 76d5932ca4fe39d7302ac8f0277c8170ae8221e9 Mon Sep 17 00:00:00 2001 From: RaymondDashWu Date: Fri, 27 Oct 2023 13:04:15 -0700 Subject: [PATCH 13/13] [ADD] Comment on why non global process lock --- sorts/odd_even_transposition_parallel.py | 1 + 1 file changed, 1 insertion(+) diff --git a/sorts/odd_even_transposition_parallel.py b/sorts/odd_even_transposition_parallel.py index 2ed33e92558b..b8ab46df1e59 100644 --- a/sorts/odd_even_transposition_parallel.py +++ b/sorts/odd_even_transposition_parallel.py @@ -13,6 +13,7 @@ from multiprocessing import Lock, Pipe, Process # lock used to ensure that two processes do not access a pipe at the same time +# NOTE This breaks testing on build runner. May work better locally # process_lock = Lock() """