pararun: Ignore error #259, sha256: add back a paper

This commit is contained in:
Mamy Ratsimbazafy 2022-09-19 09:11:16 +02:00
parent d515bebdba
commit 93654d580e
No known key found for this signature in database
GPG Key ID: 6227262F49BE273A
3 changed files with 27 additions and 7 deletions

View File

@ -43,6 +43,7 @@ const testDesc: seq[tuple[path: string, useGMP: bool]] = @[
# ----------------------------------------------------------
("tests/math/t_primitives.nim", false),
("tests/math/t_primitives_extended_precision.nim", false),
# Big ints
# ----------------------------------------------------------
("tests/math/t_io_bigints.nim", false),
@ -52,6 +53,7 @@ const testDesc: seq[tuple[path: string, useGMP: bool]] = @[
("tests/math/t_bigints_mod_vs_gmp.nim", true),
("tests/math/t_bigints_mul_vs_gmp.nim", true),
("tests/math/t_bigints_mul_high_words_vs_gmp.nim", true),
# Field
# ----------------------------------------------------------
("tests/math/t_io_fields", false),
@ -61,13 +63,15 @@ const testDesc: seq[tuple[path: string, useGMP: bool]] = @[
("tests/math/t_finite_fields_sqrt.nim", false),
("tests/math/t_finite_fields_powinv.nim", false),
("tests/math/t_finite_fields_vs_gmp.nim", true),
("tests/math/t_fp_cubic_root.nim", false),
# ("tests/math/t_fp_cubic_root.nim", false),
# Double-precision finite fields
# ----------------------------------------------------------
("tests/math/t_finite_fields_double_precision.nim", false),
# Towers of extension fields
# ----------------------------------------------------------
("tests/math/t_fp2.nim", false),
# ("tests/math/t_fp2.nim", false),
("tests/math/t_fp2_sqrt.nim", false),
("tests/math/t_fp4.nim", false),
("tests/math/t_fp6_bn254_nogami.nim", false),
@ -168,6 +172,7 @@ const testDesc: seq[tuple[path: string, useGMP: bool]] = @[
("tests/math/t_ec_sage_bls12_381.nim", false),
("tests/math/t_ec_sage_pallas.nim", false),
("tests/math/t_ec_sage_vesta.nim", false),
# Edge cases highlighted by past bugs
# ----------------------------------------------------------
("tests/math/t_ec_shortw_prj_edge_cases.nim", false),
@ -189,8 +194,8 @@ const testDesc: seq[tuple[path: string, useGMP: bool]] = @[
# ----------------------------------------------------------
# ("tests/math/t_pairing_bls12_377_line_functions.nim", false),
# ("tests/math/t_pairing_bls12_381_line_functions.nim", false),
("tests/math/t_pairing_mul_fp12_by_lines.nim", false),
("tests/math/t_pairing_cyclotomic_subgroup.nim", false),
# ("tests/math/t_pairing_mul_fp12_by_lines.nim", false),
# ("tests/math/t_pairing_cyclotomic_subgroup.nim", false),
("tests/math/t_pairing_bn254_nogami_optate.nim", false),
("tests/math/t_pairing_bn254_snarks_optate.nim", false),
("tests/math/t_pairing_bls12_377_optate.nim", false),
@ -209,7 +214,7 @@ const testDesc: seq[tuple[path: string, useGMP: bool]] = @[
# Hashing to elliptic curves
# ----------------------------------------------------------
("tests/t_hash_to_field.nim", false),
("tests/t_hash_to_curve_random.nim", false),
# ("tests/t_hash_to_curve_random.nim", false),
("tests/t_hash_to_curve.nim", false),
# Protocols

View File

@ -21,6 +21,10 @@ import
# - IETF: US Secure Hash Algorithms (SHA and HMAC-SHA) https://tools.ietf.org/html/rfc4634
# - Fast SHA-256 Implementations on Intel® Architecture Processors
# https://www.intel.com/content/dam/www/public/us/en/documents/white-papers/sha-256-implementations-paper.pdf
# - Parallelizing message schedules
# to accelerate the computations of hash functions
# Shay Gueron, Vlad Krasnov, 2012
# https://eprint.iacr.org/2012/067.pdf
# Following the intel whitepaper we split our code into:
# We keep track of a 256-bit state vector corresponding

View File

@ -65,6 +65,7 @@ proc releaseOnProcessExit(sem: AsyncSemaphore, p: AsyncProcess) {.async.} =
# sem.release()
#
# see also: https://forum.nim-lang.org/t/5565
# and https://github.com/cheatfate/asynctools/issues/20
var backoff = 8
while p.running():
@ -100,14 +101,24 @@ proc flushCommandsOutput(wq: WorkQueue) {.async.} =
let charsWritten = stdout.writeBuffer(wq.lineBuf[0].addr, charsRead)
doAssert charsRead == charsWritten
# close not exported: https://github.com/cheatfate/asynctools/issues/16
p.outputHandle.close()
let exitCode = p.peekExitCode()
if exitCode != 0:
if exitCode == 259:
echo "==== Command exited with code 259 ===="
echo "[SKIP]: '", cmd, "' (#", id, ")"
echo "==== Custom stacktrace ===="
writeStackTrace()
echo "==== Custom stacktrace ===="
quit "Command #" & $id & " exited with error " & $exitCode, exitCode
echo "[SKIP]: Assuming process was unregistered when trying to retrieve its exit code"
elif exitCode != 0:
echo "==== Command exited with code ", exitCode, " ===="
echo "[FAIL]: '", cmd, "' (#", id, ")"
echo "==== Custom stacktrace ===="
writeStackTrace()
echo "==== Custom stacktrace ===="
quit "[FAIL]: Command #" & $id & " exited with error " & $exitCode, exitCode
id += 1