@@ -0,0 +1,720 @@
+# test concurrent interning of strings%0A#%0A# MIT license; Copyright (c) 2016 Damien P. George on behalf of Pycom Ltd%0A%0Aimport _thread%0A%0A# function to check the interned string%0Adef check(s, val):%0A    assert type(s) == str%0A    assert int(s) == val%0A%0A# main thread function%0Adef th(base, n):%0A    for i in range(n):%0A        # this will intern the string and check it%0A        exec(%22check('%25u', %25u)%22 %25 (base + i, base + i))%0A%0A    with lock:%0A        global n_finished%0A        n_finished += 1%0A%0Alock = _thread.allocate_lock()%0An_thread = 4%0An_finished = 0%0A%0A# spawn threads%0Afor i in range(n_thread):%0A    _thread.start_new_thread(th, (i * 1000, 1000))%0A%0A# busy wait for threads to finish%0Awhile n_finished %3C n_thread:%0A    pass%0A%0Aprint('pass')%0A

Add test for concurrent interning of strings.