The usual.
diff --git a/Lib/dos-8x3/test_arr.py b/Lib/dos-8x3/test_arr.py
index 6a0d17c..1e0f1be 100644
--- a/Lib/dos-8x3/test_arr.py
+++ b/Lib/dos-8x3/test_arr.py
@@ -3,7 +3,7 @@
    Roger E. Masse
 """
 import array
-from test_support import verbose, TESTFN, unlink
+from test_support import verbose, TESTFN, unlink, TestFailed
 
 def main():
 
@@ -54,6 +54,33 @@
             print 'array of %s converted to a string: ' \
                    % a.typecode, `a.tostring()`
 
+        if type == 'c':
+            a = array.array(type, "abcde")
+            a[:-1] = a
+            if a != array.array(type, "abcdee"):
+                raise TestFailed, "array(%s) self-slice-assign (head)" % `type`
+            a = array.array(type, "abcde")
+            a[1:] = a
+            if a != array.array(type, "aabcde"):
+                raise TestFailed, "array(%s) self-slice-assign (tail)" % `type`
+            a = array.array(type, "abcde")
+            a[1:-1] = a
+            if a != array.array(type, "aabcdee"):
+                raise TestFailed, "array(%s) self-slice-assign (cntr)" % `type`
+        else:
+            a = array.array(type, [1, 2, 3, 4, 5])
+            a[:-1] = a
+            if a != array.array(type, [1, 2, 3, 4, 5, 5]):
+                raise TestFailed, "array(%s) self-slice-assign (head)" % `type`
+            a = array.array(type, [1, 2, 3, 4, 5])
+            a[1:] = a
+            if a != array.array(type, [1, 1, 2, 3, 4, 5]):
+                raise TestFailed, "array(%s) self-slice-assign (tail)" % `type`
+            a = array.array(type, [1, 2, 3, 4, 5])
+            a[1:-1] = a
+            if a != array.array(type, [1, 1, 2, 3, 4, 5, 5]):
+                raise TestFailed, "array(%s) self-slice-assign (cntr)" % `type`
+
 
 main()