Entrega v1 aula: shell com abas, PITIUPI_HOME e plugins de referência.

Consolida núcleo (presença, peer actions, MessageDispatcher), chat e screencast na galeria, documentação PT-BR e testes JUnit; remove mpChat do catálogo em favor do chat unificado.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Gabriel Felipe Souza SantosandCursor committed 2026-10-27 11:08:21 -03:00
1 parent b10c196fc9
commit eeb1936f6d
178 files changed
+7641 -1481

No files matched your search

+35 -17
View File
@@ -1,15 +1,18 @@
# Testes e gate
## Estado atual
## Gate automatizado (núcleo)
Não há suíte JUnit integrada ao repositório. A validação principal é:
O módulo `pitiupi/` inclui testes JUnit:
1. **Build** de todos os módulos.
2. **Teste manual** com duas instâncias na rede.
```bash
cd pitiupi && ant test
```
## Gate de build (recomendado)
Falha se `java`, `javac` ou Ant estiverem ausentes.
Na raiz do clone (todos os módulos do catálogo):
## Gate de build (produto)
Na raiz do clone:
```bash
./scripts/pitiupi.sh build --all
@@ -19,26 +22,41 @@ Equivalente manual:
```bash
cd pitiupi && ant jar
cd ../pitiupi.chat && ant jar
cd ../pitiupi.screenCast && ant jar
cd ../pitiupi.mpChat && make
cd plugins/chat && ant jar
cd plugins/screencast && ant jar
```
Falha se `java`, **`javac`**, Ant, Make ou `python3` estiverem ausentes (instale `openjdk-*-jdk`, não só JRE).
Depois, para runtime local:
## Checklist manual (rede)
```bash
./scripts/pitiupi.sh link --all
```
- [ ] Duas instâncias com portas distintas (mesmo host) ou dois hosts na mesma LAN
- [ ] Nomes visíveis no painel de usuários em até ~15 s
- [ ] Plugin de referência troca mensagens entre os dois
- [ ] Encerrar uma instância remove o peer da lista após timeout de heartbeat
## Checklist manual — uma máquina (5000 / 5001)
- [ ] Duas instâncias com portas distintas; nomes diferentes
- [ ] Peers visíveis na lista em até ~15 s
- [ ] Chat: sala geral e conversa por IP; tags de transporte coloridas no histórico
- [ ] ScreenCast: abrir aba, destino sala ou peer; fechar aba com × interrompe compartilhamento
- [ ] Compose do chat sem barra de rolagem vazio em janela ~1024×768
- [ ] Encerrar uma instância remove o peer após timeout de heartbeat
## Checklist manual — dois PCs (mesma Wi‑Fi)
Mesma **porta** em ambos (ex. 5000), **mesmos JARs** em `~/pitiupi/plugins` em cada máquina:
- [ ] Presença e linha **Todos**
- [ ] Troca de mensagens no chat (multicast e, se possível, unicast/TCP)
- [ ] Compartilhamento de tela entre os dois (ambiente com captura de tela funcional — no WSL a captura nativa pode falhar)
- [ ] Plugin Ping do aluno (tutorial [17_tutorial_ping_aula.md](17_tutorial_ping_aula.md)) medindo RTT — recomendado antes da entrega final
## Checklist plugin de aluno
- [ ] JAR em `plugins/` + SPI correto
- [ ] JAR em `PITIUPI_HOME/plugins` + SPI correto
- [ ] README do módulo com build e formato das mensagens
- [ ] UI na aba (`PluginWorkspace`), sem `JFrame` principal
- [ ] Demonstração mínima professor ↔ aluno ou aluno ↔ aluno
## Melhorias futuras
Ver [engineering_backlog.md](engineering_backlog.md) (testes automatizados, CI).
Ver [engineering_backlog.md](engineering_backlog.md) (CI contínuo, mais testes de rede sem sockets reais).