Compare commits

..

3 Commits
v1.3.3 ... main

Author SHA1 Message Date
6ebadf1d23 Add a config.h parameter for base TMPDIR 2023-11-28 10:00:29 +01:00
fec4fd0e22 Add tests 2023-11-28 09:59:58 +01:00
3ad74e9428 Remove libnotify dependency for main binary 2023-10-27 11:19:53 +02:00
9 changed files with 79 additions and 20 deletions

View File

@ -1,5 +1,6 @@
FLAGS = -g -Wall -Wextra -DLOG_USE_COLOR `pkg-config --cflags --libs libnotify`
LD_FLAGS = -lsqlite3 -lpthread
FLAGS = -g -Wall -Wextra -DLOG_USE_COLOR
LD_FLAGS = -lsqlite3 -lpthread
NOTIF_FLAGS = `pkg-config --cflags --libs libnotify`
$(shell mkdir -p out)
@ -11,6 +12,9 @@ all: takl takl-daemon
out/%.o: src/%.c
$(CC) -c $(FLAGS) $^ -o $@
out/notification.o: src/main/notification.c
$(CC) -c $(FLAGS) $(NOTIF_FLAGS) $^ -o $@
out/%.o: src/main/%.c
$(CC) -c $(FLAGS) $^ -o $@
@ -20,8 +24,8 @@ out/%.o: src/log/%.c
takl: out/main.o out/db.o out/tasks.o out/utils.o
$(CC) $(FLAGS) $(LD_FLAGS) $^ -o $@
takl-daemon: out/daemon.o out/db.o out/tasks.o out/utils.o out/log.o
$(CC) $(FLAGS) $(LD_FLAGS) $^ -o $@
takl-daemon: out/daemon.o out/db.o out/tasks.o out/utils.o out/log.o out/notification.o
$(CC) $(FLAGS) $(LD_FLAGS) $(NOTIF_FLAGS) $^ -o $@
install: takl takl-daemon

View File

@ -22,6 +22,7 @@
#include "main/include/utils.h"
#include "main/include/colors.h"
#include "main/include/config.h"
#include "main/include/notification.h"
#define EVENT_SIZE ( sizeof (struct inotify_event) )

View File

@ -1,9 +1,11 @@
#ifndef DEF_CONFIG_H
#define DEF_CONFIG_H
#define VERSION "1.3.3"
#define VERSION "1.3.5"
#define MAX_TASK_ID 10000 // max is set to MAX_TASK_ID-1
#define NEW_TASK_ID_MAX_RETRIES 10000 // number of retries before giving up
#define TMPDIR "/tmp" // Some Unix systems don't use /tmp as tmp dir (eg Android)
#endif

View File

@ -0,0 +1,10 @@
#ifndef DEF_NOTIFICATION_H
#define DEF_NOTIFICATION_H
#include "tasks.h"
/*
Envoyer une notification avec t
*/
void desktop_notification(task_t t);
#endif

View File

@ -29,9 +29,4 @@ Libère la mémoire allouée à une liste de tâches
*/
void free_task_list(task_list_t* list);
/*
Envoyer une notification avec t
*/
void desktop_notification(task_t t);
#endif

11
src/main/notification.c Normal file
View File

@ -0,0 +1,11 @@
#include <libnotify/notify.h>
#include "include/notification.h"
void desktop_notification(task_t t) {
notify_init ("TaKl");
NotifyNotification * Notif = notify_notification_new ("TaKl Daemon", t.text, "dialog-information");
notify_notification_show (Notif, NULL);
g_object_unref(G_OBJECT(Notif));
notify_uninit();
}

View File

@ -5,7 +5,6 @@ Fonctions utilitaires concernant les tâches
#include <stdio.h>
#include <time.h>
#include <string.h>
#include <libnotify/notify.h>
#include "include/db.h"
#include "include/struct.h"
@ -131,12 +130,4 @@ void free_task_list(task_list_t* list) {
free(list);
list = next;
}
}
void desktop_notification(task_t t) {
notify_init ("TaKl");
NotifyNotification * Notif = notify_notification_new ("TaKl Daemon", t.text, "dialog-information");
notify_notification_show (Notif, NULL);
g_object_unref(G_OBJECT(Notif));
notify_uninit();
}

View File

@ -19,9 +19,12 @@ char* get_socket_path() {
return socket_path;
} else {
char* base_path = "/tmp/takl";
char* base_path = TMPDIR "/takl";
char* username = getenv("USER");
if (!username)
username = getenv("USERNAME");
assert(username != NULL);
char* socket_path = malloc(sizeof(char)*(strlen(base_path)+strlen(username)+1));

42
tests/main.sh Executable file
View File

@ -0,0 +1,42 @@
#!/bin/bash
TMPDIR=$(mktemp -d)
#! On ne teste pas que l'on peut bien récupérer ces chemins automatiquement,
#! ce qui peut-être une source d'erreurs
export TAKL_DB="$TMPDIR/takl.sqlite3"
export TAKL_SOCKET="$TMPDIR/takl.socket"
echo "Using $TMPDIR"
make -j
# Catégories
./takl add "nocategory"
./takl add "category1:test1"
# Dates
./takl add "date:avec date" min+5
./takl add "date:avec date2" h+5
./takl add "date:avec date3" j+5
./takl add "date:avec date4" "31/12"
TASK_ID=$(./takl add "done soon" | sed 's/\x1B\[[0-9;]\{1,\}[A-Za-z]//g' | awk '-F[' '{ print $2 }' | awk '-F]' '{ print $1 }')
# List
./takl list
./takl list date
# Reschedule
./takl reschedule $TASK_ID "22/11"
# Get info
./takl info $TASK_ID
# Mark as done
./takl done $TASK_ID
./takl list -a
./takl rm $TASK_ID
#* À rajouter: tests sur le fait que les changements ont bien eu lieu
rm $TMPDIR -r