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:
1 parent
b10c196fc9
commit
eeb1936f6d
178 files changed
+7641
-1481
No files matched your search
@@ -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).
|
||||
Reference in new issue
Block a user