Skip to content
Snippets Groups Projects
  1. Sep 17, 2021
    • Nick Terrell's avatar
      [build] Add support for ASM files in Make + CMake · 8bf699aa
      Nick Terrell authored
      * Extract out common portion of `lib/Makefile` into `lib/libzstd.mk`.
        Most relevantly, the way we find library files.
      * Use `lib/libzstd.mk` in the other Makefiles instead of repeating the
        same code.
      * Add a test `tests/test-variants.sh` that checks that the builds of
        `make -C programs allVariants` are correct, and run it in Actions.
      * Adds support for ASM files in the CMake build.
      
      The Meson build is not updated because it lists every file in zstd,
      and supports ASM off the bat, so the Huffman ASM commit will just add
      the ASM file to the list.
      
      The Visual Studios build is not updated because I'm not adding ASM
      support to Visual Studios yet.
      8bf699aa
  2. May 24, 2021
  3. Mar 30, 2021
  4. Jan 04, 2021
  5. Mar 27, 2020
    • Nick Terrell's avatar
      Fix copyright and license lines · ac58c8d7
      Nick Terrell authored
      * All copyright lines now have -2020 instead of -present
      * All copyright lines include "Facebook, Inc"
      * All licenses are now standardized
      
      The copyright in `threading.{h,c}` is not changed because it comes from
      zstdmt.
      
      The copyright and license of `divsufsort.{h,c}` is not changed.
      ac58c8d7
  6. Dec 20, 2018
    • Nick Terrell's avatar
      [regression] Add more configs · 6e6315ae
      Nick Terrell authored
      * Add configs that test multithreading, LDM, and setting explicit
        parameters.
      * Update the `compress cctx` method to accept `ZSTD_parameters`.
      * Compile against the multithreaded `libzstd.a`.
      * Update `results.csv` for the new configs.
      
      Unless you think there are more configs/methods I should test, I think
      we have a fairly wide set of configs/methods, so I'll pause adding
      more for now.
      6e6315ae
  7. Nov 29, 2018
    • Nick Terrell's avatar
      [regression] Add initial regression test framework · 4aaa36f7
      Nick Terrell authored
      The regression tests run nightly or on the `regression`
      branch for convenience. The results get uploaded as the
      artifacts of the job. If they change, check the diff
      printed in the job. If all is well, download the new
      results and commit them to the repo.
      
      This code will only run on a UNIX like platform. It
      could be made to run on Windows, but I don't think that
      it is necessary. It also uses C99.
      
      * data: This module defines the data to run tests on.
        It downloads data from a URL into a cache directory,
        checks it against a checksum, and unpacks it. It also
        provides helpers for accessing the data.
      * config: This module defines the configs to run tests
        with. A config is a set of API parameters and a set of
        CLI flags.
      * result: This module is a helper for method that defines
        the result type.
      * method: This module defines the compression methods
        to test. It is what runs the regression test using the
        data and the config. It reports the total compressed
        size, or an error/skip.
      * test: This is the test binary that runs the tests for
        every (data, config, method) tuple, and prints the
        results to the output file and stderr.
      * results.csv: The results that the current commit is
        expected to produce.
      4aaa36f7
Loading