Makefile: libcheck now requires to link subunit
PATCH v2 1/3 Makefile: libcheck now requires to link subunit
From: Aníbal Limón <[email protected]>
--- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Makefile +1 -1
@@ -22,7 +22,7 @@ TEST_SOURCES=tests/main.c tests/ptest_list.c tests/utils.c $(BASE_SOURCES) TEST_OBJECTS=$(TEST_SOURCES:.c=.o) TEST_EXECUTABLE=ptest-runner-test TEST_LDFLAGS=-lm -lrt -lpthread -TEST_LIBSTATIC=-lcheck +TEST_LIBSTATIC=-lcheck -lsubunit TEST_DATA=$(shell echo `pwd`/tests/data)
Signature · 1 line
2.11.0
PATCH v2 2/3 Add support to avoid load/run twice a run_ptest script
From: Aníbal Limón <[email protected]>
In some ptest packages exists symlink in the ptest directory causing to load/run twice the same ptest,
For example in perl5:
/usr/lib/perl -> /usr/lib/perl5
--- ptest_list.c | 40 ++++++++++++++++++++++++++++++++++++++++ ptest_list.h | 3 +++ tests/data/python3 | 1 + tests/utils.c | 1 + utils.c | 6 ++++++ 5 files changed, 51 insertions(+) create mode 120000 tests/data/python3
ptest_list.c +40 -0
@@ -110,6 +110,46 @@ ptest_list_search(struct ptest_list *head, char *ptest)return q; } + +struct ptest_list * +ptest_list_search_by_file (struct ptest_list *head,char *run_ptest,struct stat st_buf) +{ +struct ptest_list *q =NULL ; +struct ptest_list *p; +struct stat st_buf_p; + +VALIDATE_PTR_RNULL (head); +VALIDATE_PTR_RNULL (run_ptest); + +for (p = head; p !=NULL ; p = p->next) { +if (p->ptest ==NULL ) +continue ; + +if (stat (p->run_ptest, &st_buf_p) ==-1 ) +continue ; + +if (strcmp (p->run_ptest, run_ptest) ==0 ) { + q = p; +break ; + } + +/* * +* In some ptest packages exists symlink in the ptest directory +* causing to load/run twice the same ptest, +* +* For example in perl5: +* /usr/lib/perl -> /usr/lib/perl5 +* */ +if (st_buf.st_dev == st_buf_p.st_dev && + st_buf.st_ino == st_buf_p.st_ino) { + q = p; +break ; + } + } + +return q; +} +struct ptest_list *ptest_list_add (struct ptest_list *head,char *ptest,char *run_ptest) {
ptest_list.h +3 -0
@@ -28,6 +28,8 @@#define PTEST_LIST_ITERATE_START (head, p) for (p = head->next; p != NULL; p = p->next) {#define PTEST_LIST_ITERATE_END } +#include <sys/stat.h> +struct ptest_list {char *ptest;char *run_ptest;
@@ -42,6 +44,7 @@ extern int ptest_list_free_all(struct ptest_list *);extern int ptest_list_length (struct ptest_list *);extern struct ptest_list *ptest_list_search (struct ptest_list *,char *); +extern struct ptest_list *ptest_list_search_by_file (struct ptest_list *,char *,struct stat );extern struct ptest_list *ptest_list_add (struct ptest_list *,char *,char *);extern struct ptest_list *ptest_list_remove (struct ptest_list *,char *,int );
tests/data/python3 new file +1 -0
@@ -0,0 +1 @@ +python
tests/utils.c +1 -0
@@ -48,6 +48,7 @@ static int ptests_found_length = 6;static char *ptests_not_found[] = {"busybox" ,"perl" , +"python3" ,NULL , };
utils.c +6 -0
@@ -143,6 +143,12 @@ get_available_ptests(const char *dir)continue ; } +if (ptest_list_search_by_file (head, run_ptest, st_buf)) { +free (run_ptest); +free (d_name); +continue ; + } +struct ptest_list *p =ptest_list_add (head, d_name, run_ptest);CHECK_ALLOCATION (p,sizeof (struct ptest_list *),0 );
Signature · 1 line
2.11.0
Re: [ptest-runner][PATCHv2 2/3] Add support to avoid load/run twice a run_ptest script
tests/data/python3
Quoted 104 lines · Aníbal Limón
From: Aníbal Limón <[email protected]>
In some ptest packages exists symlink in the ptest directory causing to load/run twice the same ptest,
For example in perl5:
/usr/lib/perl->/usr/lib/perl5Signed-off-by Aníbal Limón <[email protected]>--- ptest_list.c | 40 ++++++++++++++++++++++++++++++++++++++++ ptest_list.h | 3 +++ tests/data/python3 | 1 + tests/utils.c | 1 + utils.c | 6 ++++++ 5 files changed, 51 insertions(+) create mode 120000 tests/data/python3ptest_list.c +25
-0@@ -110,6 +110,46 @@ ptest_list_search(struct ptest_list *head, char *ptest)return q; } + +struct ptest_list * +ptest_list_search_by_file (struct ptest_list *head,char *run_ptest,struct stat st_buf) +{ +struct ptest_list *q =NULL ; +struct ptest_list *p; +struct stat st_buf_p; + +VALIDATE_PTR_RNULL (head); +VALIDATE_PTR_RNULL (run_ptest); + +for (p = head; p !=NULL ; p = p->next) { +if (p->ptest ==NULL ) +continue ; + +if (stat (p->run_ptest, &st_buf_p) ==-1 ) +continue ; + +if (strcmp (p->run_ptest, run_ptest) ==0 ) { + q = p; +break ; + } + +/* * +* In some ptest packages exists symlink in the ptest directory
ptest_list.c +15
-0+* causing to load/run twice the same ptest, +* +* For example in perl5: +* /usr/lib/perl -> /usr/lib/perl5 +* */ +if (st_buf.st_dev == st_buf_p.st_dev && + st_buf.st_ino == st_buf_p.st_ino) { + q = p; +break ; + } + } + +return q; +} +struct ptest_list *ptest_list_add (struct ptest_list *head,char *ptest,char *run_ptest) {ptest_list.h +2
-0@@ -28,6 +28,8 @@#define PTEST_LIST_ITERATE_START (head, p) for (p = head->next; p != NULL; p = p->next) {#define PTEST_LIST_ITERATE_END } +#include <sys/stat.h> + struct ptest_list { char *ptest;char *run_ptest;ptest_list.h +1
-0@@ -42,6 +44,7 @@ extern int ptest_list_free_all(struct ptest_list *);extern int ptest_list_length (struct ptest_list *);extern struct ptest_list *ptest_list_search (struct ptest_list *,char *); +extern struct ptest_list *ptest_list_search_by_file (struct ptest_list *,char *,struct stat );extern struct ptest_list *ptest_list_add (struct ptest_list *,char *,char *);extern struct
ptest_list*ptest_list_remove(structptest_list*, char *,
int);tests/data/python3 new file +0
-0
I forget to add symlink of python3 to python, used in testing.
Cheers,
Anibal
Quoted 38 lines
tests/data/python3 new file +1
-0@@ -0,0 +1 @@ +pythontests/utils.c +1
-0@@ -48,6 +48,7 @@ static int ptests_found_length = 6;static char *ptests_not_found[] = {"busybox" ,"perl" , +"python3" ,NULL , };utils.c +6
-0@@ -143,6 +143,12 @@ get_available_ptests(const char *dir)continue ; } +if (ptest_list_search_by_file (head, run_ptest, st_buf)) { +free (run_ptest); +free (d_name); +continue ; + } +struct ptest_list *p =ptest_list_add (head, d_name, run_ptest);CHECK_ALLOCATION(p,
sizeof(struct ptest_list *),
0);
--
2.11.0
PATCH v2 3/3 README.md: Update to my current email
In reply to Aníbal LimónFrom: Aníbal Limón <[email protected]>
--- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
README.md +1 -1
@@ -50,7 +50,7 @@ $ mtrace ./ptest-runner $(MALLOC_TRACE) For contribute please send a patch with subject prefix "[ptest-runner]" to [email protected] and cc the current maintainer that is Aníbal Limón -<[email protected]>. +<[email protected]>. ## Links
Signature · 1 line
2.11.0