From 29f4d4dd535952423d0321e556b45c15edf16827 Mon Sep 17 00:00:00 2001 From: Loup Vaillant Date: Mon, 21 Oct 2019 14:57:03 +0200 Subject: [PATCH] Cleaned up the tests/ folder Just moving files around so it's better organised. Also changed the vectors.h header a little: - It now includes inttypes.h and and stddef.h only once. - There's a note at the top saying where it comes from. --- makefile | 22 +++++----- tarball_ignore | 5 +-- .../ed25519-donna/curve25519-donna-32bit.h | 0 .../ed25519-donna/curve25519-donna-helpers.h | 0 .../ed25519-donna-32bit-tables.h | 0 .../ed25519-donna-basepoint-table.h | 0 .../ed25519-donna/ed25519-donna-batchverify.h | 0 .../ed25519-donna/ed25519-donna-impl-base.h | 0 .../ed25519-donna-portable-identify.h | 0 .../ed25519-donna/ed25519-donna-portable.h | 0 .../ed25519-donna/ed25519-donna.h | 0 .../ed25519-donna/ed25519-hash-custom.h | 0 .../ed25519-donna/ed25519-hash.h | 0 .../ed25519-donna/ed25519-randombytes.h | 0 tests/{ => externals}/ed25519-donna/ed25519.c | 0 tests/{ => externals}/ed25519-donna/ed25519.h | 0 .../ed25519-donna/modm-donna-32bit.h | 0 tests/{ => externals}/tweetnacl.c | 0 tests/{ => externals}/tweetnacl.h | 0 tests/gen/makefile | 40 ++++++++++++------- tests/{ => gen}/vector_to_header.c | 2 - tests/{ => gen}/vectors/argon2i | 0 tests/{ => gen}/vectors/chacha20 | 0 tests/{ => gen}/vectors/ed_25519_check | 0 tests/{ => gen}/vectors/key_exchange | 0 tests/{ => gen}/vectors/poly1305 | 0 tests/{ => gen}/vectors/x25519 | 0 tests/{ => speed}/speed-sodium.c | 0 tests/{ => speed}/speed-tweetnacl.c | 0 tests/{ => speed}/speed.c | 0 tests/{ => speed}/speed.h | 0 31 files changed, 38 insertions(+), 31 deletions(-) rename tests/{ => externals}/ed25519-donna/curve25519-donna-32bit.h (100%) rename tests/{ => externals}/ed25519-donna/curve25519-donna-helpers.h (100%) rename tests/{ => externals}/ed25519-donna/ed25519-donna-32bit-tables.h (100%) rename tests/{ => externals}/ed25519-donna/ed25519-donna-basepoint-table.h (100%) rename tests/{ => externals}/ed25519-donna/ed25519-donna-batchverify.h (100%) rename tests/{ => externals}/ed25519-donna/ed25519-donna-impl-base.h (100%) rename tests/{ => externals}/ed25519-donna/ed25519-donna-portable-identify.h (100%) rename tests/{ => externals}/ed25519-donna/ed25519-donna-portable.h (100%) rename tests/{ => externals}/ed25519-donna/ed25519-donna.h (100%) rename tests/{ => externals}/ed25519-donna/ed25519-hash-custom.h (100%) rename tests/{ => externals}/ed25519-donna/ed25519-hash.h (100%) rename tests/{ => externals}/ed25519-donna/ed25519-randombytes.h (100%) rename tests/{ => externals}/ed25519-donna/ed25519.c (100%) rename tests/{ => externals}/ed25519-donna/ed25519.h (100%) rename tests/{ => externals}/ed25519-donna/modm-donna-32bit.h (100%) rename tests/{ => externals}/tweetnacl.c (100%) rename tests/{ => externals}/tweetnacl.h (100%) rename tests/{ => gen}/vector_to_header.c (95%) rename tests/{ => gen}/vectors/argon2i (100%) rename tests/{ => gen}/vectors/chacha20 (100%) rename tests/{ => gen}/vectors/ed_25519_check (100%) rename tests/{ => gen}/vectors/key_exchange (100%) rename tests/{ => gen}/vectors/poly1305 (100%) rename tests/{ => gen}/vectors/x25519 (100%) rename tests/{ => speed}/speed-sodium.c (100%) rename tests/{ => speed}/speed-tweetnacl.c (100%) rename tests/{ => speed}/speed.c (100%) rename tests/{ => speed}/speed.h (100%) diff --git a/makefile b/makefile index 344f3e2..ca28aed 100644 --- a/makefile +++ b/makefile @@ -83,19 +83,21 @@ lib/monocypher.o lib/sha512.o: $(CC) $(CFLAGS) -I src -I src/optional -fPIC -c -o $@ $< # Test & speed libraries -$TEST_COMMON=tests/utils.h src/monocypher.h src/optional/sha512.h -lib/test.o : tests/test.c $(TEST_COMMON) tests/vectors.h -lib/speed.o : tests/speed.c $(TEST_COMMON) tests/speed.h -lib/speed-tweetnacl.o: tests/speed-tweetnacl.c $(TEST_COMMON) tests/speed.h +TEST_COMMON = tests/utils.h src/monocypher.h src/optional/sha512.h +SPEED = tests/speed +lib/test.o :tests/test.c $(TEST_COMMON) tests/vectors.h +lib/speed.o :$(SPEED)/speed.c $(TEST_COMMON) $(SPEED)/speed.h +lib/speed-tweetnacl.o:$(SPEED)/speed-tweetnacl.c $(TEST_COMMON) $(SPEED)/speed.h lib/utils.o lib/test.o lib/speed.o lib/speed-tweetnacl.o: @mkdir -p $(@D) - $(CC) $(CFLAGS) -I src -I src/optional -fPIC -c -o $@ $< + $(CC) $(CFLAGS) \ + -I src -I src/optional -I tests -I tests/externals \ + -fPIC -c -o $@ $< -lib/speed-sodium.o : tests/speed-sodium.c $(TEST_COMMON) tests/speed.h +lib/speed-sodium.o:$(SPEED)/speed-sodium.c $(TEST_COMMON) $(SPEED)/speed.h @mkdir -p $(@D) - $(CC) $(CFLAGS) \ - -I src \ - -I src/optional \ + $(CC) $(CFLAGS) \ + -I src -I src/optional -I tests \ `pkg-config --cflags libsodium` \ -fPIC -c -o $@ $< @@ -108,7 +110,7 @@ speed-sodium.out: lib/speed-sodium.o $(CC) $(CFLAGS) -o $@ $^ \ `pkg-config --cflags libsodium` \ `pkg-config --libs libsodium` -lib/tweetnacl.o: tests/tweetnacl.c tests/tweetnacl.h +lib/tweetnacl.o: tests/externals/tweetnacl.c tests/externals/tweetnacl.h $(CC) $(CFLAGS) -c -o $@ $< speed-tweetnacl.out: lib/speed-tweetnacl.o lib/tweetnacl.o $(CC) $(CFLAGS) -o $@ $^ diff --git a/tarball_ignore b/tarball_ignore index 6346307..cc2a5c0 100644 --- a/tarball_ignore +++ b/tarball_ignore @@ -27,8 +27,5 @@ lib* release.sh tarball_ignore tests/gen* -tests/vector_to_header.c -tests/vectors -tests/vectors/* -tests/ed25519-donna* +tests/externals/ed25519-donna* doc/man2html.sh diff --git a/tests/ed25519-donna/curve25519-donna-32bit.h b/tests/externals/ed25519-donna/curve25519-donna-32bit.h similarity index 100% rename from tests/ed25519-donna/curve25519-donna-32bit.h rename to tests/externals/ed25519-donna/curve25519-donna-32bit.h diff --git a/tests/ed25519-donna/curve25519-donna-helpers.h b/tests/externals/ed25519-donna/curve25519-donna-helpers.h similarity index 100% rename from tests/ed25519-donna/curve25519-donna-helpers.h rename to tests/externals/ed25519-donna/curve25519-donna-helpers.h diff --git a/tests/ed25519-donna/ed25519-donna-32bit-tables.h b/tests/externals/ed25519-donna/ed25519-donna-32bit-tables.h similarity index 100% rename from tests/ed25519-donna/ed25519-donna-32bit-tables.h rename to tests/externals/ed25519-donna/ed25519-donna-32bit-tables.h diff --git a/tests/ed25519-donna/ed25519-donna-basepoint-table.h b/tests/externals/ed25519-donna/ed25519-donna-basepoint-table.h similarity index 100% rename from tests/ed25519-donna/ed25519-donna-basepoint-table.h rename to tests/externals/ed25519-donna/ed25519-donna-basepoint-table.h diff --git a/tests/ed25519-donna/ed25519-donna-batchverify.h b/tests/externals/ed25519-donna/ed25519-donna-batchverify.h similarity index 100% rename from tests/ed25519-donna/ed25519-donna-batchverify.h rename to tests/externals/ed25519-donna/ed25519-donna-batchverify.h diff --git a/tests/ed25519-donna/ed25519-donna-impl-base.h b/tests/externals/ed25519-donna/ed25519-donna-impl-base.h similarity index 100% rename from tests/ed25519-donna/ed25519-donna-impl-base.h rename to tests/externals/ed25519-donna/ed25519-donna-impl-base.h diff --git a/tests/ed25519-donna/ed25519-donna-portable-identify.h b/tests/externals/ed25519-donna/ed25519-donna-portable-identify.h similarity index 100% rename from tests/ed25519-donna/ed25519-donna-portable-identify.h rename to tests/externals/ed25519-donna/ed25519-donna-portable-identify.h diff --git a/tests/ed25519-donna/ed25519-donna-portable.h b/tests/externals/ed25519-donna/ed25519-donna-portable.h similarity index 100% rename from tests/ed25519-donna/ed25519-donna-portable.h rename to tests/externals/ed25519-donna/ed25519-donna-portable.h diff --git a/tests/ed25519-donna/ed25519-donna.h b/tests/externals/ed25519-donna/ed25519-donna.h similarity index 100% rename from tests/ed25519-donna/ed25519-donna.h rename to tests/externals/ed25519-donna/ed25519-donna.h diff --git a/tests/ed25519-donna/ed25519-hash-custom.h b/tests/externals/ed25519-donna/ed25519-hash-custom.h similarity index 100% rename from tests/ed25519-donna/ed25519-hash-custom.h rename to tests/externals/ed25519-donna/ed25519-hash-custom.h diff --git a/tests/ed25519-donna/ed25519-hash.h b/tests/externals/ed25519-donna/ed25519-hash.h similarity index 100% rename from tests/ed25519-donna/ed25519-hash.h rename to tests/externals/ed25519-donna/ed25519-hash.h diff --git a/tests/ed25519-donna/ed25519-randombytes.h b/tests/externals/ed25519-donna/ed25519-randombytes.h similarity index 100% rename from tests/ed25519-donna/ed25519-randombytes.h rename to tests/externals/ed25519-donna/ed25519-randombytes.h diff --git a/tests/ed25519-donna/ed25519.c b/tests/externals/ed25519-donna/ed25519.c similarity index 100% rename from tests/ed25519-donna/ed25519.c rename to tests/externals/ed25519-donna/ed25519.c diff --git a/tests/ed25519-donna/ed25519.h b/tests/externals/ed25519-donna/ed25519.h similarity index 100% rename from tests/ed25519-donna/ed25519.h rename to tests/externals/ed25519-donna/ed25519.h diff --git a/tests/ed25519-donna/modm-donna-32bit.h b/tests/externals/ed25519-donna/modm-donna-32bit.h similarity index 100% rename from tests/ed25519-donna/modm-donna-32bit.h rename to tests/externals/ed25519-donna/modm-donna-32bit.h diff --git a/tests/tweetnacl.c b/tests/externals/tweetnacl.c similarity index 100% rename from tests/tweetnacl.c rename to tests/externals/tweetnacl.c diff --git a/tests/tweetnacl.h b/tests/externals/tweetnacl.h similarity index 100% rename from tests/tweetnacl.h rename to tests/externals/tweetnacl.h diff --git a/tests/gen/makefile b/tests/gen/makefile index 3096dac..85f0f32 100644 --- a/tests/gen/makefile +++ b/tests/gen/makefile @@ -21,19 +21,20 @@ clean: %.vec: %.out ./$< > $@ -%.o: %.c ../utils.h ../ed25519-donna/ed25519.h - $(CC) $(CFLAGS) -c $< \ - -I .. \ - -I ../ed25519-donna \ - -I ../../src \ - -I ../../src/optional \ +%.o: %.c ../utils.h ../externals/ed25519-donna/ed25519.h + $(CC) $(CFLAGS) -c $< \ + -I .. \ + -I ../externals/ed25519-donna \ + -I ../../src \ + -I ../../src/optional \ $$(pkg-config --cflags libsodium) %.out: %.o ed25519.o $(CC) $(CFLAGS) -o $@ $^ \ $$(pkg-config --libs libsodium) -ed25519.o: ../ed25519-donna/ed25519.c $(wildcard ../ed25519-donna/*.h) +ed25519.o: ../externals/ed25519-donna/ed25519.c \ + $(wildcard ../externals/ed25519-donna/*.h) $(CC) $(CFLAGS) -c $< \ -I ../../src \ -I ../../src/optional \ @@ -43,24 +44,24 @@ ed25519.o: ../ed25519-donna/ed25519.c $(wildcard ../ed25519-donna/*.h) -DED25519_NO_INLINE_ASM \ -DED25519_FORCE_32BIT -vector_to_header.out: ../vector_to_header.c +vector_to_header.out: vector_to_header.c $(CC) $(CFLAGS) $< -o $@ -chacha20.all.vec : chacha20.vec ../vectors/chacha20 -poly1305.all.vec : poly1305.vec ../vectors/poly1305 -x25519.all.vec : x25519.vec ../vectors/x25519 +chacha20.all.vec : chacha20.vec vectors/chacha20 +poly1305.all.vec : poly1305.vec vectors/poly1305 +x25519.all.vec : x25519.vec vectors/x25519 x25519_pk.all.vec : x25519_pk.vec hchacha20.all.vec : hchacha20.vec xchacha20.all.vec : xchacha20.vec aead_ietf.all.vec : aead_ietf.vec blake2b.all.vec : blake2b.vec sha512.all.vec : sha512.vec -argon2i.all.vec : argon2i.vec ../vectors/argon2i +argon2i.all.vec : argon2i.vec vectors/argon2i edDSA.all.vec : edDSA.vec edDSA_pk.all.vec : edDSA_pk.vec ed_25519.all.vec : ed_25519.vec -ed_25519_check.all.vec: ../vectors/ed_25519_check -key_exchange.all.vec : ../vectors/key_exchange +ed_25519_check.all.vec: vectors/ed_25519_check +key_exchange.all.vec : vectors/key_exchange monokex_xk1.all.vec : monokex_xk1.vec monokex_x.all.vec : monokex_x.vec $(VEC2): @@ -70,5 +71,14 @@ $(VEC2): %.h.vec: %.all.vec vector_to_header.out ./vector_to_header.out $(patsubst %.all.vec,%,$<) < $< > $@ - $(VECTORS): $(HEADERS) +prelude.h.vec: + @echo "creating prelude.h.vec" + @echo "// Generated with hard coded official vectors, and" > $@ + @echo "// random vectors with Libsodium and ed25519-donna." >> $@ + @echo "// Download Monocypher's git repository to regenerate." >> $@ + @echo "#include " >> $@ + @echo "#include " >> $@ + @echo "" >> $@ + +$(VECTORS): prelude.h.vec $(HEADERS) cat $^ > $@ diff --git a/tests/vector_to_header.c b/tests/gen/vector_to_header.c similarity index 95% rename from tests/vector_to_header.c rename to tests/gen/vector_to_header.c index 1c2cbdd..73cf195 100644 --- a/tests/vector_to_header.c +++ b/tests/gen/vector_to_header.c @@ -22,8 +22,6 @@ int main(int argc, char** argv) int c = getchar(); int nb_vec = 0; - printf("#include \n"); - printf("#include \n"); while (c != EOF) { int size = 0; if (c == ':') { diff --git a/tests/vectors/argon2i b/tests/gen/vectors/argon2i similarity index 100% rename from tests/vectors/argon2i rename to tests/gen/vectors/argon2i diff --git a/tests/vectors/chacha20 b/tests/gen/vectors/chacha20 similarity index 100% rename from tests/vectors/chacha20 rename to tests/gen/vectors/chacha20 diff --git a/tests/vectors/ed_25519_check b/tests/gen/vectors/ed_25519_check similarity index 100% rename from tests/vectors/ed_25519_check rename to tests/gen/vectors/ed_25519_check diff --git a/tests/vectors/key_exchange b/tests/gen/vectors/key_exchange similarity index 100% rename from tests/vectors/key_exchange rename to tests/gen/vectors/key_exchange diff --git a/tests/vectors/poly1305 b/tests/gen/vectors/poly1305 similarity index 100% rename from tests/vectors/poly1305 rename to tests/gen/vectors/poly1305 diff --git a/tests/vectors/x25519 b/tests/gen/vectors/x25519 similarity index 100% rename from tests/vectors/x25519 rename to tests/gen/vectors/x25519 diff --git a/tests/speed-sodium.c b/tests/speed/speed-sodium.c similarity index 100% rename from tests/speed-sodium.c rename to tests/speed/speed-sodium.c diff --git a/tests/speed-tweetnacl.c b/tests/speed/speed-tweetnacl.c similarity index 100% rename from tests/speed-tweetnacl.c rename to tests/speed/speed-tweetnacl.c diff --git a/tests/speed.c b/tests/speed/speed.c similarity index 100% rename from tests/speed.c rename to tests/speed/speed.c diff --git a/tests/speed.h b/tests/speed/speed.h similarity index 100% rename from tests/speed.h rename to tests/speed/speed.h -- 2.47.3