POO_0809: Está a usar um Mac? Ou o Linux?
4 maio - 10 maio / ►
Está a usar um Mac? Ou o Linux?
Actualização: o script que era referido na versão inicial deste texto funciona, mas podemos usar uma técnica ainda mais simples. O Eclipse possui um conversor. Veja em File->convert line delimeters to...
Versão um pouco mais trabalhosa.
O seu diff acusa uma diferença nas linhas brancas entre os seus resultados e os que estão no moodle? Está a usar um Mac e aparentemente está tudo bem? Então, isto é para si. :-)
Está a usar o Linux e verifica o mesmo problema?
Os testes depositados no moodle foram gerados no Windows. Foi reportado por uma utilizadora de Mac que o diff apresentava diferenças nas linhas em branco dos ficheiros de resultados, face aos resultados por ela obtidos. O curioso é que os resultados dela estavam, de facto, correctos. Isto é visível logo na tarefa A.
Isto pode acontecer, porque o Windows e o Mac não representam exactamente da mesma forma as linhas em branco. Se experimentar usar no seu Mac um editor como o vi, vai reparar que nessas linhas aparece o carácter ^M (control-M), em vez de a linha aparecer em branco. Pois bem, é esse carácter que provoca a diferença identificada pelo diff. Claro que pode ir a cada um dos ficheiros remover à mão. Mas não o aconselhamos a tentar. Dá muito trabalho. Como remover de forma rápida?
Na linha de comandos, no directório em que descompactou os seus testes (onde encontra 4 sub-directórios, um por cada tarefa), escreva o seguinte comando:
No Mac, o script que se segue resolve o problema.
for i in */*.txt; do cat $i | sed 's/\r//g' > tmp.txt; mv tmp.txt $i; done
Pronto, já está. Se agora for ver o conteúdo dos ficheiros, o tal ^M desapareceu. Como funciona este mini-script? Bom, para cada i, sendo i um ficheiro dentro de um directório (neste caso, um dos 4 directórios com testes de tarefas) e tendo esse ficheiro a extensão .txt, vamos mandar escrever o ficheiro, substituindo \r por nada, em todo o ficheiro, e redireccionando o resultado para tmp.txt, movendo em seguida tmp.txt para i. Isto é uma forma compacta de ir ficheiro a ficheiro remover, uma por uma, todas as ocorrências do ^M.
Voltemos ao trabalho. Se agora o seu diff já não acusa diferenças, já pode enviar o seu trabalho com confiança para o moodle.
Last modified: sábado, 4 agosto 2012, 6:17
◄ Testes para o Guião 6 (test03Cout.txt corrigido)
Jump to... Jump to... POO em 2009/2010 POO em 2007/2008 Notícias de POO Folha de Unidade Curricular Regras de Avaliação Componentes da Avaliação Contínua Pauta Avaliação Contínua (Projecções) Pauta Avaliação Contínua (FINAL) Código de Honra de POO Moss: A System for Detecting Software Plagiarism Horários das Aulas Teóricas, Práticas e de Dúvidas Documentação Java 6 Mooshak Enunciados de exames passados Gerador de cadernos de exame Regras para a realização de exames Pauta após o Exame de Época Normal (revista) Pauta Final (revista) Pauta Época Especial SLIDES: Aula de Abertura SLIDES: Desenho com Classes Guião 1 - Histogramas e Diagramas FAQ sobre submissões ao mooshak Registo de Presença na aula prática 1 Exemplo das Facturas nas aulas teóricas (UML) Exemplo das Facturas nas aulas teóricas (Java) Registo de presença na aula prática 2 Guião 2 - TDD, herança e javadocs Registo de presenças na aula prática 3 Testes JUnit do guião 2 SLIDES: Herança Exemplo das Facturas nas aulas teóricas (versão com JUnit) Sugestões para a criação de testes no Guião 2 Registo de presenças na aula prática 4 CodeRuler Filme sobre a instalação do CodeRally (parecido com o CodeRuler, mas com carros). O processo de instalação é similar. Zip do CodeRuler Guião do CodeRuler Pauta Avaliação Contínua (Guião 1 e 2) SLIDES: Interfaces Exemplo das Facturas nas aulas teóricas (versão com Ordenações, Temporizadores e Enumerados) Guião 4 - Problema "Draw a Grid" (submissão até às 23:55 do dia 20/Abril) Testes para o guião 4 SLIDES: Interfaces Gráficas Exemplo das Facturas nas aulas teóricas (versão com interface gráfica de utilizador) Introdução leve à recursividade Guião 5 Exemplos de Input/Output para o Guião 5 Pauta dos Microtestes (até ao 4) Jogo do Pong SLIDES: Classes Genéricas (parte 1) Exemplo das Facturas nas aulas teóricas (versão com base de dados genérica) Guião 6 Pauta Avaliação Contínua (Guiões 1 a 5) Testes para o Guião 6 (test03Cout.txt corrigido) SLIDES: Listas Ligadas Biblioteca de listas genéricas simplesmente e duplamente ligadas Guião 6.5 (actualização importante a 21/5 @18h00) Imagens para o jogo Diagrama de classes do guião 6.5 SLIDES: Grafos GenericGraph (v1.1) Guião 7 SLIDES: Classes Genéricas (final) Microteste 6 (Grafos) Testes para o guião 7 Classe StupidMonster do guião 6 SLIDES: Tratamento de Excepções Versão actualizada dos grafos, grafos acíclicos e grafos instrumentados (com exemplos e resolução do microteste) Testes para o Guião 7 (novo teste para tarefa C e D)