You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@milagro.apache.org by km...@apache.org on 2019/06/14 15:27:04 UTC
[incubator-milagro-crypto-c] 01/01: fixed typo and remove cmocka
This is an automated email from the ASF dual-hosted git repository.
kmccusker pushed a commit to branch remove-cmocka
in repository https://gitbox.apache.org/repos/asf/incubator-milagro-crypto-c.git
commit 03cb98720c95dc95ffc57af446bd8f3a0b812e18
Author: Kealan McCusker <ke...@gmail.com>
AuthorDate: Fri Jun 14 16:26:29 2019 +0100
fixed typo and remove cmocka
---
cmocka_tests/CMakeLists.txt | 66 ---------
cmocka_tests/README.md | 2 -
cmocka_tests/aes_test.c | 92 -------------
cmocka_tests/cmake/AddCmockaTest.cmake | 51 -------
cmocka_tests/cmake/Amcl.cmake | 45 -------
cmocka_tests/cmake/Cmocka.cmake | 47 -------
cmocka_tests/cmake/CodeCoverage.cmake | 237 ---------------------------------
cmocka_tests/cmake_install.cmake | 49 -------
cmocka_tests/crypto_context.c | 76 -----------
cmocka_tests/include/aes_test.h | 26 ----
cmocka_tests/include/crypto_context.h | 63 ---------
cmocka_tests/test_main.c | 19 ---
include/amcl.h.in | 2 +-
src/ecp.c.in | 2 +-
src/fp12.c.in | 6 +-
src/fp24.c.in | 6 +-
src/fp48.c.in | 6 +-
src/pair.c.in | 2 +-
src/pair192.c.in | 2 +-
src/pair256.c.in | 2 +-
20 files changed, 14 insertions(+), 787 deletions(-)
diff --git a/cmocka_tests/CMakeLists.txt b/cmocka_tests/CMakeLists.txt
deleted file mode 100644
index a4fc0db..0000000
--- a/cmocka_tests/CMakeLists.txt
+++ /dev/null
@@ -1,66 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-cmake_minimum_required(VERSION 3.1 FATAL_ERROR)
-get_filename_component(PROJECT_ROOT ${CMAKE_CURRENT_LIST_FILE} DIRECTORY)
-set(CMAKE_C_STANDARD 99)
-set(CMAKE_C_STANDARD_REQUIRED ON)
-set(CMAKE_MODULE_PATH "${PROJECT_ROOT}/cmake")
-include(${PROJECT_ROOT}/cmake/Cmocka.cmake)
-include(${PROJECT_ROOT}/cmake/AddCmockaTest.cmake)
-include(${PROJECT_ROOT}/cmake/Amcl.cmake)
-
-set(OPENSSL_USE_STATIC_LIBS TRUE)
-find_package(OpenSSL REQUIRED)
-
-function(ADD_CMOCKA_TEST_ENVIRONMENT _TARGET_NAME)
- if (WIN32 OR CYGWIN OR MINGW)
- file(TO_NATIVE_PATH "${cmocka-library_BINARY_DIR}" CMOCKA_DLL_PATH)
-
- if (TARGET_SYSTEM_EMULATOR)
- set(DLL_PATH_ENV "WINEPATH=${CMOCKA_DLL_PATH};$ENV{WINEPATH}")
- else()
- set(DLL_PATH_ENV "PATH=${CMOCKA_DLL_PATH};$ENV{PATH}")
- endif()
- #
- # IMPORTANT NOTE: The set_tests_properties(), below, internally
- # stores its name/value pairs with a semicolon delimiter.
- # because of this we must protect the semicolons in the path
- #
- string(REPLACE ";" "\\;" DLL_PATH_ENV "${DLL_PATH_ENV}")
-
- set_tests_properties(${_TARGET_NAME}
- PROPERTIES
- ENVIRONMENT
- "${DLL_PATH_ENV}")
- endif()
-endfunction()
-
-set_source_files_properties(aes_test.c crypto_context.c test_main.c
- PROPERTIES
- COMPILE_DEFINITIONS
- UNIT_TESTING=1)
-enable_testing()
-include_directories(${CMOCKA_INCLUDE_DIR} ${PROJECT_ROOT} include ../include)
-### The most simple test
-add_cmocka_test(aes_test
- SOURCES crypto_context.c test_main.c aes_test.c
- COMPILE_OPTIONS ${DEFAULT_C_COMPILE_FLAGS}
- LINK_LIBRARIES ${CMOCKA_LIBRARY} ${AMCL_LIBRARY} OpenSSL::Crypto)
-add_cmocka_test_environment(aes_test)
-
-
diff --git a/cmocka_tests/README.md b/cmocka_tests/README.md
deleted file mode 100644
index 9831153..0000000
--- a/cmocka_tests/README.md
+++ /dev/null
@@ -1,2 +0,0 @@
-# Apache Milagro Cmocka Tests - Experimental feature
-We want to move the old test suite to this for enabling lcov and gcov for supporting more wrappers.
diff --git a/cmocka_tests/aes_test.c b/cmocka_tests/aes_test.c
deleted file mode 100644
index 61f1910..0000000
--- a/cmocka_tests/aes_test.c
+++ /dev/null
@@ -1,92 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-#include <arch.h>
-#include <amcl.h>
-#include <setjmp.h>
-#include <cmocka.h>
-#include <aes_test.h>
-#include <crypto_context.h>
-
-int aes_setup(void **state)
-{
- crypto_context_t* context = calloc(1, sizeof(crypto_context_t));
- *state = context;
- return 0;
-}
-
-int aes_teardown(void **state)
-{
- crypto_context_t* context = *state;
- free(context);
- return 0;
-}
-
-void should_encrypt_aes_ecb_128_correctly(void **state)
-{
- crypto_context_t *ctx = *state;
- assert_non_null(ctx);
- ctx->mode = encrypt
-}
-
-void should_fail_aes_ecb_128_with_invalidkey(void **state)
-{
-
-}
-
-void should_encrypt_aes_cbc_128_correctly(void **state)
-{
-}
-
-void should_encrypt_aes_ctr_128_correctly(void **state)
-{
-}
-
-void should_encrypt_aes_cfb_1_correctly(void **state)
-{
-}
-
-static void
-test_encryption_aes(struct crypto_context *context,
- char *plain_text, size_t plain_text_size)
-{
- // arrange test
- amcl_aes block_cipher;
- uint8_t valid_aes_init;
- int i = 0;
- size_t block_size = get_block_size("aes",context->mode);
- size_t n_blocks = plain_text_size / block_size;
- valid_aes_init = AES_init(&block_cipher,
- convert_mode(context->mode),
- context->key_length,
- context->key, context->init_vector);
- // act & assert.
- for (i = 0; i < n_blocks; i++) {
- AES_encrypt(&block_cipher, &plain_text[i * block_size]);
- }
- octet ciphertext_octect =
- { plain_text_size, plain_text_size, plain_text };
- octet expected_ciphertext = { context->ciphertext_length,
- context->ciphertext_length,
- context->ciphertext
- };
- int ret = OCT_comp(&expected_ciphertext, &ciphertext_octect);
- assert_int_equal(1, ret);
-
-}
diff --git a/cmocka_tests/cmake/AddCmockaTest.cmake b/cmocka_tests/cmake/AddCmockaTest.cmake
deleted file mode 100644
index e02d48f..0000000
--- a/cmocka_tests/cmake/AddCmockaTest.cmake
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
-function(ADD_CMOCKA_TEST _TARGET_NAME)
-
- set(one_value_arguments
- )
-
- set(multi_value_arguments
- SOURCES
- COMPILE_OPTIONS
- LINK_LIBRARIES
- LINK_OPTIONS
- )
-
- cmake_parse_arguments(_add_cmocka_test
- ""
- "${one_value_arguments}"
- "${multi_value_arguments}"
- ${ARGN}
- )
-
- if (NOT DEFINED _add_cmocka_test_SOURCES)
- message(FATAL_ERROR "No sources provided for target ${_TARGET_NAME}")
- endif()
-
- add_executable(${_TARGET_NAME} ${_add_cmocka_test_SOURCES})
-
- if (DEFINED _add_cmocka_test_COMPILE_OPTIONS)
- target_compile_options(${_TARGET_NAME}
- PRIVATE ${_add_cmocka_test_COMPILE_OPTIONS}
- )
- endif()
-
- if (DEFINED _add_cmocka_test_LINK_LIBRARIES)
- target_link_libraries(${_TARGET_NAME}
- PRIVATE ${_add_cmocka_test_LINK_LIBRARIES}
- )
- endif()
-
- if (DEFINED _add_cmocka_test_LINK_OPTIONS)
- set_target_properties(${_TARGET_NAME}
- PROPERTIES LINK_FLAGS
- ${_add_cmocka_test_LINK_OPTIONS}
- )
- endif()
-
- add_test(${_TARGET_NAME}
- ${TARGET_SYSTEM_EMULATOR} ${_TARGET_NAME}
- )
-
-endfunction (ADD_CMOCKA_TEST)
diff --git a/cmocka_tests/cmake/Amcl.cmake b/cmocka_tests/cmake/Amcl.cmake
deleted file mode 100644
index f600d8c..0000000
--- a/cmocka_tests/cmake/Amcl.cmake
+++ /dev/null
@@ -1,45 +0,0 @@
-IF(UNIX)
- FIND_PATH(AMCL_INCLUDE_DIR amcl.h
- "../include"
- "${PROJECT_ROOT}/../include"
- "${CMAKE_SOURCE_DIR}/../include"
- NO_DEFAULT_PATH
- )
-
- SET(CMAKE_FIND_LIBRARY_PREFIXES "" "lib")
- SET(CMAKE_FIND_LIBRARY_SUFFIXES ".so" ".a" ".lib")
- FIND_LIBRARY(AMCL_LIBRARY NAMES amcl_core PATHS
- $ENV{LIB}
- ../lib
- /usr/lib/x86_64-linux-gnu
- "$ENV{LIB_DIR}/lib"
- "${CMAKE_SOURCE_DIR}/lib"
- #mingw
- c:/msys/local/lib
- NO_DEFAULT_PATH
- )
-ELSE()
- FIND_PATH(AMCL_INCLUDE_DIR amcl.h
- "${PROJECT_ROOT}/include"
- "${PROJECT_ROOT}/../include"
- )
-
- FILE(GLOB AMCL_LIBRARY NAMES
- "${PROJECT_ROOT}/../lib/*amcl_core.lib"
- "${CMAKE_SOURCE_DIR}/../lib/*amcl_core.so"
- )
-ENDIF()
-
-
-IF (AMCL_INCLUDE_DIR AND AMCL_LIBRARY)
- SET(AMCL_FOUND TRUE)
-ENDIF (AMCL_INCLUDE_DIR AND AMCL_LIBRARY)
-
-MESSAGE(STATUS "Apache Milagro Include: ${AMCL_INCLUDE_DIR}")
-
-
-IF (AMCL_FOUND)
- MESSAGE(STATUS "Found Apache Milagro: ${AMCL_LIBRARY}")
-ELSE (AMCL_FOUND)
- MESSAGE(FATAL_ERROR "Could not find Apache Milagro")
-ENDIF (AMCL_FOUND)
diff --git a/cmocka_tests/cmake/Cmocka.cmake b/cmocka_tests/cmake/Cmocka.cmake
deleted file mode 100644
index d500796..0000000
--- a/cmocka_tests/cmake/Cmocka.cmake
+++ /dev/null
@@ -1,47 +0,0 @@
-
-IF(UNIX)
- FIND_PATH(CMOCKA_INCLUDE_DIR cmocka.h
- "$ENV{LIB_DIR}/include"
- "/usr/include"
- "/usr/include/cmockery"
- "${CMAKE_SOURCE_DIR}/include"
- "${CMAKE_SOURCE_DIR}/include/cmocka"
- NO_DEFAULT_PATH
- )
-
- SET(CMAKE_FIND_LIBRARY_PREFIXES "" "lib")
- SET(CMAKE_FIND_LIBRARY_SUFFIXES ".so" ".a" ".lib")
- FIND_LIBRARY(CMOCKA_LIBRARY NAMES cmocka PATHS
- $ENV{LIB}
- /usr/lib
- /usr/lib/x86_64-linux-gnu
- "$ENV{LIB_DIR}/lib"
- "${CMAKE_SOURCE_DIR}/lib"
- #mingw
- c:/msys/local/lib
- NO_DEFAULT_PATH
- )
-ELSE()
- FIND_PATH(CMOCKA_INCLUDE_DIR cmocka.h
- "${PROJECT_ROOT}/include"
- )
-
- FILE(GLOB CMOCKA_LIBRARY NAMES
- "${PROJECT_ROOT}/lib/cmocka*.lib"
- "${PROJECT_ROOT}/lib/cmocka*.a"
- )
-ENDIF()
-
-
-IF (CMOCKA_INCLUDE_DIR AND CMOCKA_LIBRARY)
- SET(CMOCKA_FOUND TRUE)
-ENDIF (CMOCKA_INCLUDE_DIR AND CMOCKA_LIBRARY)
-
-MESSAGE(STATUS "CMocka Include: ${CMOCKA_INCLUDE_DIR}")
-
-
-IF (CMOCKA_FOUND)
- MESSAGE(STATUS "Found CMocka: ${CMOCKA_LIBRARY}")
-ELSE (CMOCKA_FOUND)
- MESSAGE(FATAL_ERROR "Could not find Cmocka")
-ENDIF (CMOCKA_FOUND)
diff --git a/cmocka_tests/cmake/CodeCoverage.cmake b/cmocka_tests/cmake/CodeCoverage.cmake
deleted file mode 100644
index 4d8bd43..0000000
--- a/cmocka_tests/cmake/CodeCoverage.cmake
+++ /dev/null
@@ -1,237 +0,0 @@
-include(CMakeParseArguments)
-
- # Check prereqs
- find_program( GCOV_PATH gcov )
- find_program( LCOV_PATH NAMES lcov lcov.bat lcov.exe lcov.perl)
- find_program( GENHTML_PATH NAMES genhtml genhtml.perl genhtml.bat )
- find_program( GCOVR_PATH gcovr PATHS ${CMAKE_SOURCE_DIR}/scripts/test)
- find_package (Python COMPONENTS Interpreter Development)
-
- if(NOT GCOV_PATH)
- message(FATAL_ERROR "gcov not found! Aborting...")
- endif() # NOT GCOV_PATH
-
- if("${CMAKE_CXX_COMPILER_ID}" MATCHES "(Apple)?[Cc]lang")
- if("${CMAKE_CXX_COMPILER_VERSION}" VERSION_LESS 3)
- message(FATAL_ERROR "Clang version must be 3.0.0 or greater! Aborting...")
- endif()
- elseif(NOT CMAKE_COMPILER_IS_GNUCXX)
- message(FATAL_ERROR "Compiler is not GNU gcc! Aborting...")
- endif()
-
- set(COVERAGE_COMPILER_FLAGS "-g --coverage -fprofile-arcs -ftest-coverage"
- CACHE INTERNAL "")
-
- set(CMAKE_CXX_FLAGS_COVERAGE
- ${COVERAGE_COMPILER_FLAGS}
- CACHE STRING "Flags used by the C++ compiler during coverage builds."
- FORCE )
- set(CMAKE_C_FLAGS_COVERAGE
- ${COVERAGE_COMPILER_FLAGS}
- CACHE STRING "Flags used by the C compiler during coverage builds."
- FORCE )
- set(CMAKE_EXE_LINKER_FLAGS_COVERAGE
- ""
- CACHE STRING "Flags used for linking binaries during coverage builds."
- FORCE )
- set(CMAKE_SHARED_LINKER_FLAGS_COVERAGE
- ""
- CACHE STRING "Flags used by the shared libraries linker during coverage builds."
- FORCE )
- mark_as_advanced(
- CMAKE_CXX_FLAGS_COVERAGE
- CMAKE_C_FLAGS_COVERAGE
- CMAKE_EXE_LINKER_FLAGS_COVERAGE
- CMAKE_SHARED_LINKER_FLAGS_COVERAGE )
-
- if(NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
- message(WARNING "Code coverage results with an optimised (non-Debug) build may be misleading")
- endif() # NOT CMAKE_BUILD_TYPE STREQUAL "Debug"
-
- if(CMAKE_C_COMPILER_ID STREQUAL "GNU")
- link_libraries(gcov)
- else()
- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --coverage")
- endif()
-
- # Defines a target for running and collection code coverage information
- # Builds dependencies, runs the given executable and outputs reports.
- # NOTE! The executable should always have a ZERO as exit code otherwise
- # the coverage generation will not complete.
- #
- # SETUP_TARGET_FOR_COVERAGE_LCOV(
- # NAME testrunner_coverage # New target name
- # EXECUTABLE testrunner -j ${PROCESSOR_COUNT} # Executable in PROJECT_BINARY_DIR
- # DEPENDENCIES testrunner # Dependencies to build first
- # )
- function(SETUP_TARGET_FOR_COVERAGE_LCOV)
-
- set(options NONE)
- set(oneValueArgs NAME)
- set(multiValueArgs EXECUTABLE EXECUTABLE_ARGS DEPENDENCIES LCOV_ARGS GENHTML_ARGS)
- cmake_parse_arguments(Coverage "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
-
- if(NOT LCOV_PATH)
- message(FATAL_ERROR "lcov not found! Aborting...")
- endif() # NOT LCOV_PATH
-
- if(NOT GENHTML_PATH)
- message(FATAL_ERROR "genhtml not found! Aborting...")
- endif() # NOT GENHTML_PATH
-
- # Setup target
- add_custom_target(${Coverage_NAME}
-
- # Cleanup lcov
- COMMAND ${LCOV_PATH} ${Coverage_LCOV_ARGS} --gcov-tool ${GCOV_PATH} -directory . --zerocounters
- # Create baseline to make sure untouched files show up in the report
- COMMAND ${LCOV_PATH} ${Coverage_LCOV_ARGS} --gcov-tool ${GCOV_PATH} -c -i -d . -o ${Coverage_NAME}.base
-
- # Run tests
- COMMAND ${Coverage_EXECUTABLE} ${Coverage_EXECUTABLE_ARGS}
-
- # Capturing lcov counters and generating report
- COMMAND ${LCOV_PATH} ${Coverage_LCOV_ARGS} --gcov-tool ${GCOV_PATH} --directory . --capture --output-file ${Coverage_NAME}.info
- # add baseline counters
- COMMAND ${LCOV_PATH} ${Coverage_LCOV_ARGS} --gcov-tool ${GCOV_PATH} -a ${Coverage_NAME}.base -a ${Coverage_NAME}.info --output-file ${Coverage_NAME}.total
- COMMAND ${LCOV_PATH} ${Coverage_LCOV_ARGS} --gcov-tool ${GCOV_PATH} --remove ${Coverage_NAME}.total ${COVERAGE_LCOV_EXCLUDES} --output-file ${PROJECT_BINARY_DIR}/${Coverage_NAME}.info.cleaned
- COMMAND ${GENHTML_PATH} ${Coverage_GENHTML_ARGS} -o ${Coverage_NAME} ${PROJECT_BINARY_DIR}/${Coverage_NAME}.info.cleaned
- COMMAND ${CMAKE_COMMAND} -E remove ${Coverage_NAME}.base ${Coverage_NAME}.total ${PROJECT_BINARY_DIR}/${Coverage_NAME}.info.cleaned
-
- WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
- DEPENDS ${Coverage_DEPENDENCIES}
- COMMENT "Resetting code coverage counters to zero.\nProcessing code coverage counters and generating report."
- )
-
- # Show where to find the lcov info report
- add_custom_command(TARGET ${Coverage_NAME} POST_BUILD
- COMMAND ;
- COMMENT "Lcov code coverage info report saved in ${Coverage_NAME}.info."
- )
-
- # Show info where to find the report
- add_custom_command(TARGET ${Coverage_NAME} POST_BUILD
- COMMAND ;
- COMMENT "Open ./${Coverage_NAME}/index.html in your browser to view the coverage report."
- )
-
- endfunction() # SETUP_TARGET_FOR_COVERAGE_LCOV
-
- # Defines a target for running and collection code coverage information
- # Builds dependencies, runs the given executable and outputs reports.
- # NOTE! The executable should always have a ZERO as exit code otherwise
- # the coverage generation will not complete.
- #
- # SETUP_TARGET_FOR_COVERAGE_GCOVR_XML(
- # NAME ctest_coverage # New target name
- # EXECUTABLE ctest -j ${PROCESSOR_COUNT} # Executable in PROJECT_BINARY_DIR
- # DEPENDENCIES executable_target # Dependencies to build first
- # )
- function(SETUP_TARGET_FOR_COVERAGE_GCOVR_XML)
-
- set(options NONE)
- set(oneValueArgs NAME)
- set(multiValueArgs EXECUTABLE EXECUTABLE_ARGS DEPENDENCIES)
- cmake_parse_arguments(Coverage "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
-
- if(NOT Python_FOUND)
- message(FATAL_ERROR "python not found! Aborting...")
- endif()
-
- if(NOT GCOVR_PATH)
- message(FATAL_ERROR "gcovr not found! Aborting...")
- endif() # NOT GCOVR_PATH
-
- # Combine excludes to several -e arguments
- set(GCOVR_EXCLUDES "")
- foreach(EXCLUDE ${COVERAGE_GCOVR_EXCLUDES})
- string(REPLACE "*" "\\*" EXCLUDE_REPLACED ${EXCLUDE})
- list(APPEND GCOVR_EXCLUDES "-e")
- list(APPEND GCOVR_EXCLUDES "${EXCLUDE_REPLACED}")
- endforeach()
-
- add_custom_target(${Coverage_NAME}
- # Run tests
- ${Coverage_EXECUTABLE} ${Coverage_EXECUTABLE_ARGS}
-
- # Running gcovr
- COMMAND ${GCOVR_PATH} --xml
- -r ${PROJECT_SOURCE_DIR} ${GCOVR_EXCLUDES}
- --object-directory=${PROJECT_BINARY_DIR}
- -o ${Coverage_NAME}.xml
- WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
- DEPENDS ${Coverage_DEPENDENCIES}
- COMMENT "Running gcovr to produce Cobertura code coverage report."
- )
-
- # Show info where to find the report
- add_custom_command(TARGET ${Coverage_NAME} POST_BUILD
- COMMAND ;
- COMMENT "Cobertura code coverage report saved in ${Coverage_NAME}.xml."
- )
-
- endfunction() # SETUP_TARGET_FOR_COVERAGE_GCOVR_XML
-
- # Defines a target for running and collection code coverage information
- # Builds dependencies, runs the given executable and outputs reports.
- # NOTE! The executable should always have a ZERO as exit code otherwise
- # the coverage generation will not complete.
- #
- # SETUP_TARGET_FOR_COVERAGE_GCOVR_HTML(
- # NAME ctest_coverage # New target name
- # EXECUTABLE ctest -j ${PROCESSOR_COUNT} # Executable in PROJECT_BINARY_DIR
- # DEPENDENCIES executable_target # Dependencies to build first
- # )
- function(SETUP_TARGET_FOR_COVERAGE_GCOVR_HTML)
-
- set(options NONE)
- set(oneValueArgs NAME)
- set(multiValueArgs EXECUTABLE EXECUTABLE_ARGS DEPENDENCIES)
- cmake_parse_arguments(Coverage "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
-
- if(NOT Python_FOUND)
- message(FATAL_ERROR "python not found! Aborting...")
- endif()
-
- if(NOT GCOVR_PATH)
- message(FATAL_ERROR "gcovr not found! Aborting...")
- endif() # NOT GCOVR_PATH
-
- # Combine excludes to several -e arguments
- set(GCOVR_EXCLUDES "")
- foreach(EXCLUDE ${COVERAGE_GCOVR_EXCLUDES})
- string(REPLACE "*" "\\*" EXCLUDE_REPLACED ${EXCLUDE})
- list(APPEND GCOVR_EXCLUDES "-e")
- list(APPEND GCOVR_EXCLUDES "${EXCLUDE_REPLACED}")
- endforeach()
-
- add_custom_target(${Coverage_NAME}
- # Run tests
- ${Coverage_EXECUTABLE} ${Coverage_EXECUTABLE_ARGS}
-
- # Create folder
- COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/${Coverage_NAME}
-
- # Running gcovr
- COMMAND ${Python_EXECUTABLE} ${GCOVR_PATH} --html --html-details
- -r ${PROJECT_SOURCE_DIR} ${GCOVR_EXCLUDES}
- --object-directory=${PROJECT_BINARY_DIR}
- -o ${Coverage_NAME}/index.html
- WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
- DEPENDS ${Coverage_DEPENDENCIES}
- COMMENT "Running gcovr to produce HTML code coverage report."
- )
-
- # Show info where to find the report
- add_custom_command(TARGET ${Coverage_NAME} POST_BUILD
- COMMAND ;
- COMMENT "Open ./${Coverage_NAME}/index.html in your browser to view the coverage report."
- )
-
- endfunction() # SETUP_TARGET_FOR_COVERAGE_GCOVR_HTML
-
- function(APPEND_COVERAGE_COMPILER_FLAGS)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${COVERAGE_COMPILER_FLAGS}" PARENT_SCOPE)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COVERAGE_COMPILER_FLAGS}" PARENT_SCOPE)
- message(STATUS "Appending code coverage compiler flags: ${COVERAGE_COMPILER_FLAGS}")
- endfunction() # APPEND_COVERAGE_COMPILER_FLAGS
diff --git a/cmocka_tests/cmake_install.cmake b/cmocka_tests/cmake_install.cmake
deleted file mode 100644
index d4d94e8..0000000
--- a/cmocka_tests/cmake_install.cmake
+++ /dev/null
@@ -1,49 +0,0 @@
-# Install script for directory: /home/jozoppi/projects/incubator-milagro-crypto-c/unit_test
-
-# Set the install prefix
-if(NOT DEFINED CMAKE_INSTALL_PREFIX)
- set(CMAKE_INSTALL_PREFIX "/usr/local")
-endif()
-string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
-
-# Set the install configuration name.
-if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
- if(BUILD_TYPE)
- string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
- CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
- else()
- set(CMAKE_INSTALL_CONFIG_NAME "")
- endif()
- message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
-endif()
-
-# Set the component getting installed.
-if(NOT CMAKE_INSTALL_COMPONENT)
- if(COMPONENT)
- message(STATUS "Install component: \"${COMPONENT}\"")
- set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
- else()
- set(CMAKE_INSTALL_COMPONENT)
- endif()
-endif()
-
-# Install shared libraries without execute permission?
-if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
- set(CMAKE_INSTALL_SO_NO_EXE "1")
-endif()
-
-# Is this installation the result of a crosscompile?
-if(NOT DEFINED CMAKE_CROSSCOMPILING)
- set(CMAKE_CROSSCOMPILING "FALSE")
-endif()
-
-if(CMAKE_INSTALL_COMPONENT)
- set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt")
-else()
- set(CMAKE_INSTALL_MANIFEST "install_manifest.txt")
-endif()
-
-string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT
- "${CMAKE_INSTALL_MANIFEST_FILES}")
-file(WRITE "/home/jozoppi/projects/incubator-milagro-crypto-c/unit_test/${CMAKE_INSTALL_MANIFEST}"
- "${CMAKE_INSTALL_MANIFEST_CONTENT}")
diff --git a/cmocka_tests/crypto_context.c b/cmocka_tests/crypto_context.c
deleted file mode 100644
index 959d00d..0000000
--- a/cmocka_tests/crypto_context.c
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
-* Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#include <stdlib.h>
-#include <crypto_context.h>
-
-/* @brief Create a new encryption context assigning the loader
-* @param encryption_mode Mode of encryption (ECB, CBC, CFB, CTR)
-* @param loader Init function to be used for parsing the vector file.
-*/
-crypto_context_t *new_context(encryption_mode mode,
- void (*loader) (crypto_context_t *))
-{
- crypto_context_t *ctx = calloc(1, sizeof(struct crypto_context));
- ctx->parse_vector_file = loader;
- ctx->mode = mode;
- return ctx;
-}
-
-/*
-* @brief Delete the memory for crypto context
-* @param ctx Context to be used.
-*/
-void delete_context(crypto_context_t * ctx)
-{
- free(ctx->ciphertext);
- free(ctx->key);
- free(ctx->init_vector);
-}
-
-/*
-* @brief Convert the encryption mode to an integer;
-* @param mode encryption_mode Mode of encryption (ECB, CBC, CFB, CTR)
-*/
-int convert_mode(encryption_mode mode)
-{
- return (int)mode;
-}
-
-/*
- * @brief Compute the block_size foreach algorithm;
- * @param algo Block Cipher Algorithm name
- * @param mode Mode for encryption
- */
-size_t get_block_size(char *algo, encryption_mode mode)
-{
- if (!strcmp("aes", algo)) {
- // we are aes
- switch (mode) {
- case cbc_mode:
- case ecb_mode:
- case ctr_mode:
- {
- return 16;
- }
- case cfb_mode:
- {
- return 1;
- }
- }
- }
- return 16;
-}
diff --git a/cmocka_tests/include/aes_test.h b/cmocka_tests/include/aes_test.h
deleted file mode 100644
index 42f156d..0000000
--- a/cmocka_tests/include/aes_test.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
-* Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef AES_TEST_H
-#define AES_TEST_H
-#include <string.h>
-#include <crypto_context.h>
-extern void parse_aes_vectorfile(struct crypto_context* context);
-extern void should_encrypt_aes_ecb_128_correctly(void** state);
-extern void should_encrypt_aes_cbc_128_correctly(void** state);
-extern void should_encrypt_aes_ctr_128_correctly(void** state);
-extern void should_encrypt_aes_cfb_1_correctly(void** state);
-#endif
diff --git a/cmocka_tests/include/crypto_context.h b/cmocka_tests/include/crypto_context.h
deleted file mode 100644
index 40ce528..0000000
--- a/cmocka_tests/include/crypto_context.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
-* Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef CRYPTO_CONTEXT
-#define CRYPTO_CONTEXT
-#include <stdlib.h>
-#define CRYPTO_VEC_PATH_MAX 256
-typedef enum e_mode
-{
- ecb_mode,
- cbc_mode,
- cfb_mode,
- ctr_mode
-} encryption_mode;
-typedef struct crypto_context
-{
- char* ciphertext; /*<!-- Ciphertext to be compared */
- size_t ciphertext_length; /*<!-- Ciphertext lenght */
- char filename[CRYPTO_VEC_PATH_MAX]; /*<!-- Path of the vector test filename */
- char* key; /*<!-- Key to be used */
- size_t key_length; /*<!-- Key length */
- char* init_vector; /*<!-- IV */
- size_t init_vector_length; /*<!-- Vector length */
- encryption_mode mode; /*<!-- Kind of encryption mode */
- void (*parse_vector_file)(struct crypto_context* self); /*<!-- function for loading
- the file and init the structure */
-} crypto_context_t;
-
-/* @brief Create a new encryption context assigning the loader
-* @param encryption_mode Mode of encryption (ECB, CBC, CFB, CTR)
-* @param loader Init function to be used for parsing the vector file.
-*/
-extern crypto_context_t* new_context(encryption_mode mode, void (*loader)(crypto_context_t*));
-/*
-* @brief Delete the memory for crypto context
-* @param ctx Context to be used.
-*/
-extern void delete_context(crypto_context_t* ctx);
-/*
-* @brief Convert the encryption mode to an integer;
-* @param mode encryption_mode Mode of encryption (ECB, CBC, CFB, CTR)
-*/
-extern int convert_mode(encryption_mode mode);
-/*
- * @brief Compute the block_size foreach algorithm;
- * @param algo Block Cipher Algorithm name
- * @param mode Mode for encryption
- */
-extern size_t get_block_size(char* algo, encryption_mode mode);
-#endif
diff --git a/cmocka_tests/test_main.c b/cmocka_tests/test_main.c
deleted file mode 100644
index 089f7d2..0000000
--- a/cmocka_tests/test_main.c
+++ /dev/null
@@ -1,19 +0,0 @@
-
-#include <aes_test.h>
-#include <stdlib.h>
-#include <stdarg.h>
-#include <stddef.h>
-#include <setjmp.h>
-#include <cmocka.h>
-
-
-int main(void)
-{
- const struct CMUnitTest tests[] = {
- cmocka_unit_test(should_encrypt_aes_ecb_128_correctly),
- cmocka_unit_test(should_encrypt_aes_cbc_128_correctly),
- cmocka_unit_test(should_encrypt_aes_ctr_128_correctly),
- cmocka_unit_test(should_encrypt_aes_cfb_1_correctly)
- };
- return cmocka_run_group_tests(tests, NULL, NULL);
-}
diff --git a/include/amcl.h.in b/include/amcl.h.in
index a976e9f..f588c0a 100644
--- a/include/amcl.h.in
+++ b/include/amcl.h.in
@@ -59,7 +59,7 @@
#define AMCL_FP_ZERO 0
#define AMCL_FP_UNITY 1
-#define AMCL_AMCL_FP_SPARSER 2
+#define AMCL_FP_SPARSER 2
#define AMCL_FP_SPARSE 3
#define AMCL_FP_DENSE 4
diff --git a/src/ecp.c.in b/src/ecp.c.in
index f0ae94e..8b1d938 100644
--- a/src/ecp.c.in
+++ b/src/ecp.c.in
@@ -252,7 +252,7 @@ int ECP_ZZZ_get(BIG_XXX x,ECP_ZZZ *P)
ECP_ZZZ_copy(&W,P);
ECP_ZZZ_affine(&W);
if (ECP_ZZZ_isinf(&W)) return -1;
- FP_YYY_redc(x,&(W));
+ FP_YYY_redc(x,&(W.x));
return 0;
}
diff --git a/src/fp12.c.in b/src/fp12.c.in
index 04d39ac..c8b4765 100644
--- a/src/fp12.c.in
+++ b/src/fp12.c.in
@@ -129,7 +129,7 @@ void FP12_YYY_from_FP4(FP12_YYY *w,FP4_YYY *a)
FP4_YYY_copy(&(w->a),a);
FP4_YYY_zero(&(w->b));
FP4_YYY_zero(&(w->c));
- w->type=AMCL_AMCL_FP_SPARSER;
+ w->type=AMCL_FP_SPARSER;
}
/* Create FP12 from 3 FP4's */
@@ -229,7 +229,7 @@ void FP12_YYY_sqr(FP12_YYY *w,FP12_YYY *x)
FP4_YYY_add(&(w->b),&C,&D);
FP4_YYY_add(&(w->c),&(w->c),&A);
- if (x->type==AMCL_AMCL_FP_SPARSER)
+ if (x->type==AMCL_FP_SPARSER)
w->type=AMCL_FP_SPARSE;
else
w->type=AMCL_FP_DENSE;
@@ -387,7 +387,7 @@ void FP12_YYY_ssmul(FP12_YYY *w,FP12_YYY *y)
}
else
{
- if (w->type==AMCL_AMCL_FP_SPARSER)
+ if (w->type==AMCL_FP_SPARSER)
{
FP12_YYY_smul(w,y);
return;
diff --git a/src/fp24.c.in b/src/fp24.c.in
index 815ce89..5470a70 100644
--- a/src/fp24.c.in
+++ b/src/fp24.c.in
@@ -126,7 +126,7 @@ void FP24_YYY_from_FP8(FP24_YYY *w,FP8_YYY *a)
FP8_YYY_copy(&(w->a),a);
FP8_YYY_zero(&(w->b));
FP8_YYY_zero(&(w->c));
- w->type=AMCL_AMCL_FP_SPARSER;
+ w->type=AMCL_FP_SPARSER;
}
/* Create FP24 from 3 FP8's */
@@ -227,7 +227,7 @@ void FP24_YYY_sqr(FP24_YYY *w,FP24_YYY *x)
FP8_YYY_add(&(w->b),&C,&D);
FP8_YYY_add(&(w->c),&(w->c),&A);
- if (x->type==AMCL_AMCL_FP_SPARSER)
+ if (x->type==AMCL_FP_SPARSER)
w->type=AMCL_FP_SPARSE;
else
w->type=AMCL_FP_DENSE;
@@ -384,7 +384,7 @@ void FP24_YYY_ssmul(FP24_YYY *w,FP24_YYY *y)
}
else
{
- if (w->type==AMCL_AMCL_FP_SPARSER)
+ if (w->type==AMCL_FP_SPARSER)
{
FP24_YYY_smul(w,y);
return;
diff --git a/src/fp48.c.in b/src/fp48.c.in
index 8083bf5..cc5394e 100644
--- a/src/fp48.c.in
+++ b/src/fp48.c.in
@@ -127,7 +127,7 @@ void FP48_YYY_from_FP16(FP48_YYY *w,FP16_YYY *a)
FP16_YYY_copy(&(w->a),a);
FP16_YYY_zero(&(w->b));
FP16_YYY_zero(&(w->c));
- w->type=AMCL_AMCL_FP_SPARSER;
+ w->type=AMCL_FP_SPARSER;
}
/* Create FP48 from 3 FP16's */
@@ -228,7 +228,7 @@ void FP48_YYY_sqr(FP48_YYY *w,FP48_YYY *x)
FP16_YYY_add(&(w->b),&C,&D);
FP16_YYY_add(&(w->c),&(w->c),&A);
- if (x->type==AMCL_AMCL_FP_SPARSER)
+ if (x->type==AMCL_FP_SPARSER)
w->type=AMCL_FP_SPARSE;
else
w->type=AMCL_FP_DENSE;
@@ -385,7 +385,7 @@ void FP48_YYY_ssmul(FP48_YYY *w,FP48_YYY *y)
}
else
{
- if (w->type==AMCL_AMCL_FP_SPARSER)
+ if (w->type==AMCL_FP_SPARSER)
{
FP48_YYY_smul(w,y);
return;
diff --git a/src/pair.c.in b/src/pair.c.in
index 8faf54a..5e8fdc2 100644
--- a/src/pair.c.in
+++ b/src/pair.c.in
@@ -131,7 +131,7 @@ static void PAIR_ZZZ_line(FP12_YYY *v,ECP2_ZZZ *A,ECP2_ZZZ *B,FP_YYY *Qx,FP_YYY
}
FP12_YYY_from_FP4s(v,&a,&b,&c);
- v->type=AMCL_AMCL_FP_SPARSER;
+ v->type=AMCL_FP_SPARSER;
}
diff --git a/src/pair192.c.in b/src/pair192.c.in
index 3e6f966..94f2d84 100644
--- a/src/pair192.c.in
+++ b/src/pair192.c.in
@@ -132,7 +132,7 @@ static void PAIR_ZZZ_line(FP24_YYY *v,ECP4_ZZZ *A,ECP4_ZZZ *B,FP_YYY *Qx,FP_YYY
}
FP24_YYY_from_FP8s(v,&a,&b,&c);
- v->type=AMCL_AMCL_FP_SPARSER;
+ v->type=AMCL_FP_SPARSER;
}
/* prepare ate parameter, n=6u+2 (BN) or n=u (BLS), n3=3*n */
diff --git a/src/pair256.c.in b/src/pair256.c.in
index 2b53ba4..00a4603 100644
--- a/src/pair256.c.in
+++ b/src/pair256.c.in
@@ -129,7 +129,7 @@ static void PAIR_ZZZ_line(FP48_YYY *v,ECP8_ZZZ *A,ECP8_ZZZ *B,FP_YYY *Qx,FP_YYY
}
FP48_YYY_from_FP16s(v,&a,&b,&c);
- v->type=AMCL_AMCL_FP_SPARSER;
+ v->type=AMCL_FP_SPARSER;
}
/* prepare ate parameter, n=6u+2 (BN) or n=u (BLS), n3=3*n */