a  ze2@snddlZddlZddlZddlZddlmZddZddZddZ dd d Z d dZ da ddZ ddZdS)N)supportcCst|d}t|d\}}t|d\}}t|d\}}g}|rN|d||r`|d||r|rx|d|n|d||d|sd|S|dd }d |S) Ng@@i<z%s hourz%s minz%s secz%.1f secz%s ms )mathceildivmodappendjoin)ZsecondsmsZminutesZhourspartsr J/opt/bitninja-python-dojo/embedded/lib/python3.9/test/libregrtest/utils.pyformat_durations" rcCs>|sdSt|D](\}}tj|\}}|dkr|||<qdS)Nz.py) enumerateospathsplitext)namesidxnamebasenameextr r rremovepy!s rcCs$|dkrd||fSd||fSdS)Nz%d %sz%d %ssr )nZwordr r rcount*s rFcCs:d|}ttjdddt|D|||d|ddS)Nrcss|]}t|VqdSN)str).0eltr r r ;zprintlist..)initial_indentsubsequent_indent)file)printtextwrapfillr sorted)xwidthindentr'Zblanksr r r printlist1s r/cCst|dSr)r print_warning)msgr r rr0@sr0cCs<dt_tdtj}ztjt_t|W|t_n|t_0dS)NTzUnraisable exception)rZenvironment_alteredr0sysstderr __stderr__orig_unraisablehook)Z unraisableZ old_stderrr r rregrtest_unraisable_hookGs r6cCstjatt_dSr)r2unraisablehookr5r6r r r rsetup_unraisable_hookSsr8)rrN)rZos.pathrr2r)testrrrrr/r0r5r6r8r r r rs