def insere_arquivos():
    # Criando o diretório pai com 30 níveis
    for i in range(30):
        ep3.mkdir("/pai_sem/" + "subdir/" * i)

    # Criando o diretório pai com 30 níveis de hierarquia com centenas de arquivos regulares em todos os
    # subdiretórios
    for i in range(30):
        caminho = "/pai_com/" + "subdir/" * i
        ep3.mkdir(caminho)
        for j in range(100):
            ep3.touch(caminho + "arquivo%d" % j)
def insere_arquivos():
    # Criando o diretório pai com 30 níveis
    for i in range(30):
        ep3.mkdir('/pai_sem/' + 'subdir/' * i)

    # Criando o diretório pai com 30 níveis de hierarquia com centenas de arquivos regulares em todos os
    # subdiretórios
    for i in range(30):
        caminho = '/pai_com/' + 'subdir/' * i
        ep3.mkdir(caminho)
        for j in range(100):
            ep3.touch(caminho + 'arquivo%d' % j)
def test_rm_pai_com():
    médias = []
    menor = []
    maior = []
    mínimo = []
    máximo = []
    for nome_sistema in ["sistema_vazio", "sistema_10MB", "sistema_50MB"]:
        # Soma total
        valores = []
        mntcp = float("inf")
        mxtcp = float("-inf")

        for i in range(30):
            print("iteração %d" % i)
            cp("arquivos/" + nome_sistema, nome_sistema)
            ep3.mount(nome_sistema)
            # Criando o diretório pai com 30 níveis de hierarquia com centenas de arquivos regulares em todos os
            # subdiretórios
            for j in range(30):
                caminho = "/pai/" + "subdir/" * j
                ep3.mkdir(caminho)
                for k in range(100):
                    ep3.touch(caminho + "arquivo%d" % k)
            t = tempo_op(ep3.rmdir, ("/pai",))
            ep3.umount()
            valores.append(t)
            mntcp = min(mntcp, t)
            mxtcp = max(mxtcp, t)
            os.remove(nome_sistema)
        média = sum(valores) / 30
        médias.append(média)
        desvio = math.sqrt(sum([(x - média) ** 2 for x in valores]) / 30)
        menor.append(média - (-1.96) * desvio / math.sqrt(30))
        maior.append(média + (-1.96) * desvio / math.sqrt(30))
        mínimo.append(mntcp)
        máximo.append(mxtcp)
    f = open("rmpaicom.m", "w")
    f.write("x = [0, 10, 50];\n")
    f.write("media = %s;\n" % repr(médias))
    f.write("menor = %s;\n" % repr(menor))
    f.write("maior = %s;\n" % repr(maior))
    f.write("minimo = %s;\n" % repr(mínimo))
    f.write("maximo = %s;\n" % repr(máximo))
    f.write(
        "plot(x,media,';media;', x, menor, 'g;menor;', x, maior, 'g;maior;', x, minimo, 'r;minimo;', x, maximo,"
        " 'r;maximo;')\n"
    )
    f.write("title('Remocao do diretorio pai com 30 subdiretorios')\n")
    f.write("xlabel('Tamanho Ocupado do Sistema de Arquivo (MB)')\n")
    f.write("ylabel('Tempo Gasto (ms)')\n")
    f.close()
def test_rm_pai_com():
    médias = []
    menor = []
    maior = []
    mínimo = []
    máximo = []
    for nome_sistema in ['sistema_vazio', 'sistema_10MB', 'sistema_50MB']:
        # Soma total
        valores = []
        mntcp = float('inf')
        mxtcp = float('-inf')

        for i in range(30):
            print('iteração %d' % i)
            cp('arquivos/' + nome_sistema, nome_sistema)
            ep3.mount(nome_sistema)
            # Criando o diretório pai com 30 níveis de hierarquia com centenas de arquivos regulares em todos os
            # subdiretórios
            for j in range(30):
                caminho = '/pai/' + 'subdir/' * j
                ep3.mkdir(caminho)
                for k in range(100):
                    ep3.touch(caminho + 'arquivo%d' % k)
            t = tempo_op(ep3.rmdir, ('/pai', ))
            ep3.umount()
            valores.append(t)
            mntcp = min(mntcp, t)
            mxtcp = max(mxtcp, t)
            os.remove(nome_sistema)
        média = sum(valores) / 30
        médias.append(média)
        desvio = math.sqrt(sum([(x - média)**2 for x in valores]) / 30)
        menor.append(média - (-1.96) * desvio / math.sqrt(30))
        maior.append(média + (-1.96) * desvio / math.sqrt(30))
        mínimo.append(mntcp)
        máximo.append(mxtcp)
    f = open('rmpaicom.m', 'w')
    f.write('x = [0, 10, 50];\n')
    f.write('media = %s;\n' % repr(médias))
    f.write('menor = %s;\n' % repr(menor))
    f.write('maior = %s;\n' % repr(maior))
    f.write('minimo = %s;\n' % repr(mínimo))
    f.write('maximo = %s;\n' % repr(máximo))
    f.write(
        "plot(x,media,';media;', x, menor, 'g;menor;', x, maior, 'g;maior;', x, minimo, 'r;minimo;', x, maximo,"
        " 'r;maximo;')\n")
    f.write("title('Remocao do diretorio pai com 30 subdiretorios')\n")
    f.write("xlabel('Tamanho Ocupado do Sistema de Arquivo (MB)')\n")
    f.write("ylabel('Tempo Gasto (ms)')\n")
    f.close()