Skip to content
Extraits de code Groupes Projets
Valider 79e2c5cb rédigé par Nicolas Isenguerre's avatar Nicolas Isenguerre :speech_balloon:
Parcourir les fichiers

Modifications pour supprimer une variable peu utile

parent d766dd84
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -144,6 +144,6 @@ void* doPrime(){
//Fonction doFTOBUF dont le role est d'appeler la fonction ftobuf pour la meme raison que precedemment.
void* doFTOBUF() {
ftobuf(in,firstBuffer,capacity,NTHREADS);
ftobuf(in,firstBuffer,NTHREADS);
return NULL;
}
......@@ -7,7 +7,6 @@
#include "buffer.c"
#include "utils.c"
#include "utils.h"
//#include "main.c"
#define taille 1000
......@@ -106,7 +105,7 @@ void test_enqueueDequeue(void){
void test_ftobuf(void){ //Ils dependent fortement du fichier input utilise pour les tests ! La version ici est generale, a modifier si besoin.
int tailleGen = 5;
firstBuffer = createBuffer(tailleGen);
ftobuf(in,firstBuffer,tailleGen,0); //appel a la fonction qui fait son travail.
ftobuf(in,firstBuffer,0); //appel a la fonction qui fait son travail.
for(int i = 0; i < tailleGen; i++){ //il faut modifier pour adapter aux donnees du fichier input, de preference prendre un truc periodique genre i+2, facile a verifie.
CU_ASSERT_EQUAL(i,firstBuffer->q->array[i]); //ici, par exemple, dans fichier input, on aura 0,1,2,... jusque taille.
}
......@@ -115,25 +114,30 @@ void test_ftobuf(void){ //Ils dependent fortement du fichier input utilise pou
//test de la fonction doPrime. Fonctionne avec une entree
void test_prime(void){
char outputChar[50]; //on reserve des strings pour les sorties attendues et celles qu'on va obtenir
char expectedOutput[50];
char* outputChar = (char *) malloc(50*sizeof(char)); //on reserve des strings pour les sorties attendues et celles qu'on va obtenir
if(outputChar == NULL) return;
char* expectedOutput = (char *) malloc(50*sizeof(char));
if(outputChar == NULL) return;
int tailleGen = 1;
printf("1");
firstBuffer = createBuffer(tailleGen);
enqueue(firstBuffer->q,(void*) 15); //on peut modifier cette entree comme on veut
printf("2");
prime(firstBuffer,taille,&filefree,out); //on appelle prime pour calculer les diviseurs premiers et remplir le fichier de sortie
printf("3");
FILE* fichierComparaison = fopen("fichierComparaison.txt","r"); //fichier a creer en fonction de ce qu'on attend comme resultat
if(fichierComparaison == NULL) return;
printf("4");
fgets(outputChar, sizeof(outputChar),out); //lis la premiere ligne, donc on peut avoir un fichier d'output long donc un fichier d'input long aussi,
fgets(expectedOutput, sizeof(expectedOutput),fichierComparaison); //ce n'est pas limitant !
printf("5");
CU_ASSERT_STRING_EQUAL(outputChar,expectedOutput); //les deux string sont egaux ? Cad, le contenu des fichiers de sortie sont les memes ?
printf("1");
//On libere tout et on ferme le fichier ouvert pour la comparaison
free_Buffer(firstBuffer);
free(outputChar);
free(expectedOutput);
int err;
if((err = fclose(fichierComparaison)) != 0) return;
}
......
......@@ -10,7 +10,7 @@
* et les injecte dans firstBuffer (sous forme de (void*))
*/
void* ftobuf(FILE* input, buffer_t* firstBuffer,int capacity,int NTHREADS) { //file (input) to buffer (firstBuffer)
void* ftobuf(FILE* input, buffer_t* firstBuffer,int NTHREADS) { //file (input) to buffer (firstBuffer)
unsigned long long tmp;
while (fscanf(input,"%llu", &tmp) == 1){ //Tant qu'il y a des donnees dans le fichier input, on poursuit la lecture du fichier et
Producer(firstBuffer, (void*) tmp); //l'ecriture de ses elements dans le buffer de lecture
......
......@@ -11,7 +11,7 @@ pthread_mutex_t filefree; //mutex pour le fichier de sortie
int capacity; //capacite des buffers
//Definition des fonctions developpees dans utils.c
void* ftobuf(FILE* input, buffer_t* buf, int capacity,int NTHREADS);
void* ftobuf(FILE* input, buffer_t* buf,int NTHREADS);
void* prime(buffer_t *in, int size,pthread_mutex_t *filefree, FILE* outfile);
#endif //PRIME_DIVS_UTILS_H
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter