From 51437318493e6f623631a73bd7f9389708cea537 Mon Sep 17 00:00:00 2001 From: EuAndreh Date: Fri, 29 Dec 2023 12:47:15 -0300 Subject: Rewrite code, but keeping the exact same semantic and behaviour - remove `#ifndef TWEETNACL_H` guard inside `tweetnacl.h`: as headers shouldn't include other headers; - remove `#define sv static void` golfing alias; - remove `#define FOR(i,n) for (i = 0;i < n;++i)` golfing alias; - assert that the generated `tweetnacl.o` code is identical to the original code, available at `tests/assert-identical.sh`; - remove all extra definitions from tweetnacl.h; - rewrite code with the correct indentation, spacing and formatting; - use C99 constructs over C89 (for loop variable declarations inside the parentheses); - use smaller types on loop variables, mostly `u8` over `int`, `i64`, etc.; - fix the public API; - add fuzz targets; --- tests/assert-identical.sh | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100755 tests/assert-identical.sh (limited to 'tests/assert-identical.sh') diff --git a/tests/assert-identical.sh b/tests/assert-identical.sh new file mode 100755 index 0000000..1a25f62 --- /dev/null +++ b/tests/assert-identical.sh @@ -0,0 +1,25 @@ +#!/bin/sh +set -eu + +NAME='tweetnacl' +CFLAGS='-O3 -s' + +trap "rm -f tests/resources/impl.c src/impl.cmp.o tests/resources/impl.cmp.o" \ + EXIT + +( +cd src/ +gcc $CFLAGS -o impl.cmp.o -c impl.c +strip impl.cmp.o +) & + +( +cd tests/resources/ +cp "$NAME".c impl.c +gcc $CFLAGS -o impl.cmp.o -c impl.c +strip impl.cmp.o +) & + +wait + +cmp tests/resources/impl.cmp.o src/impl.cmp.o -- cgit v1.2.3