Skip to content

rewrite: Criar harness de testes de paridade legado vs nova implementação #1040

Description

@ElioNeto

Parte do epic #1036

Objetivo

Criar uma test suite que execute os mesmos cenários contra o core TypeScript atual e a nova implementação Go, garantindo paridade de comportamento antes de qualquer cutover.

Estrutura proposta

packages/core/test/parity/
  process.parity.test.ts
  filesystem.parity.test.ts
  session-event.parity.test.ts
  helpers/
    legacy-adapter.ts   ← chama implementação TS atual
    new-adapter.ts      ← chama go-core via HTTP
    diff-reporter.ts    ← compara e reporta divergências

Exemplo de teste de paridade

it('spawn parity', async () => {
  const tsResult  = await legacySpawner.spawn('ls', ['-la'])
  const goResult  = await goSpawner.spawn('ls', ['-la'])  // chama HTTP
  expect(goResult.stdout).toEqual(tsResult.stdout)
  expect(goResult.exitCode).toEqual(tsResult.exitCode)
})

Tarefas

  • Criar estrutura de diretórios para testes de paridade
  • Implementar legacy-adapter.ts e new-adapter.ts
  • Implementar diff-reporter.ts com output legível
  • Cobertura mínima: process spawning e filesystem
  • Integrar ao CI da trilha rewrite/*
  • Documentar como adicionar novos módulos ao harness

Critérios de aceite

  • Testes executam local e no CI
  • Falhas exibem diff claro entre legado e novo
  • Pelo menos 3 fluxos críticos cobertos ponta a ponta
  • Tempo de execução do harness abaixo de 60s

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions