Giter Club home page Giter Club logo

amboso's Introduction

Hi there ๐Ÿ‘‹

amboso's People

Contributors

jgabaut avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

amboso's Issues

The main script has some minor invalid comparison errors

Describe the bug
With 1.9.1, amboso's source_amboso_api() function was rewritten in an attempt to move to a POSIX shell. This backfired as there's some errors in the reformat of the function.

To Reproduce
Steps to reproduce the behavior:

  1. Run anvil -v
  2. Error was:
/usr/local/bin/anvil: line 69: [: : integer expression expected
/usr/local/bin/anvil: line 81: [: : integer expression expected

Expected behavior
The mentioned check is done correctly.

  • Version >= 1.9.1

[FEATURE] Force version keys to be valid semver values

To align with invil, version tags should be checked to ensure they are valid semver values.

This means accepting only version core as valid keys, and returning a proper error when attempting to use an extended key (build or pre-release metadata). If neither of the conditions is met, a different error is returned.

[FEATURE] Update -V flag to expect u8 argument

At the moment, multiple occurrences of -V are used to express verbose level.

Changing this to expecting a u8 argument would align behaviour invil, the early-stage Rust port of amboso.

Alternatively, the invil implementation could be made to accept multiple -V occurrences and handle it with the same logic as current amboso.

[BUG] Unexpected behaviour on bash 3.x

I tested the repo on a M1 Macbook (I think it had bash 3.x) and many errors happened during operation.

Will need further investigation on last version, and I suspect the added git submodule update --init after a switch - may break stuff.
1.4.6 should not have this problem, while still having colliding filenames for the test folder...

[FEATURE] Sort read version tags with extended semver lower than version-core-only tags

To align with invil, version tags should be ordered in a way that ensures valid semver ordering.

Optional extensions to the version core part (MAJOR.MINOR.PATCH) should be sorted as lower than bare version core tags.

Ie:
0.2.0 > 0.2.0-rc1
0.2.0 > 0.1.0-rc2
0.2.0 < 0.10.0

At the moment, tags are compared using natural order.

Ie:
0.2.0 < 0.2.0-rc1

[FEATURE] Handle backwards compatibility for previous amboso versions

Previous amboso versions may have backwards incompatible changes at minor version level.
This could be addressed in 2.x by adding some logic to handle each breaking change in 1.x.

Handling for each cutoff

  • Just straight up not try working with some cutoffs and reject them with a "helpful" error message - โœ–๏ธ
  • Report curated error messages for unstable versions in some cutoffs - โŒ
  • Try altering passed arguments to ensure interoperability (provided there's no external changes to the environment) - โ“
Proposed cutoffs Handling Reasoning
<=1.4.2 โœ–๏ธ amboso_fn.sh does not contain AMBOSO_API_LVL="X.Y.Z"
>1.4.2, <1.6.6 โŒ Unstable
>=1.6.6, <=1.7.4 โŒ Incompatible stego.lock format
>1.7.4, <= 1.9.6 โŒ Unstable, incompatible flag -C and test mode
>1.9.6, < 2.x โŒ Unstable, incompatible with invil < 0.2.x

[BUG] Script fails unexpectedly when using mawk

Describe the bug
The call to awk to parse stego.lock seems to fail on a system where awk is mawk.

To Reproduce
Steps to reproduce the behavior:

  1. Try running ./amboso
  2. Unexpected error with awk invalid line reports

Expected behavior
Either a sane parsing of stego.lock, or exit with a proper error.

  • OS: Linux
  • Version >=1.8.0

Additional context

My version of awk (working):

$ awk -W version
GNU Awk 5.2.2, API 3.2, PMA Avon 8-g1, (GNU MPFR 4.2.1, GNU MP 6.3.0)
Copyright (C) 1989, 1991-2023 Free Software Foundation.

Version of awk on the reporter machine:

$ awk -W version
mawk 1.3.4 20200120
Copyright 2008-2019,2020, Thomas E. Dickey
Copyright 1991-1996,2014, Michael D. Brennan

[FEATURE] Version 1.9.9 breaks -C flag from 1.9.8

Version 1.9.9 changes the -C flag to pass a file whose contents will be used as the config argument, rather than using the argument directly.

This was done because invil 0.1.4 seemed to have problems passing a literal string with double dashes as argument to a flag for clap.

This is still not backwards compatible with <=1.9.7, as -C was used to pass start time.

Related

Also see:

Tests in error dir are ignored in 1.7.1

Describe the bug
Any executable in kulpo directory is ignored on 1.7.1 and never runs from -t macro.
It seems the checks for the whole directory have been broken with the update.

Introduced with #51, from this commit.

To Reproduce
Steps to reproduce the behavior:

  1. Add an executable to kazoj/kulpo/
  2. Run ./anvilt -t
  3. No tests are found in kazoj/kulpo/

Expected behavior
The test macro picks up all executables from kazoj/kulpo/ and runs them.

  • Version >1.7.0

Additional context

These are the last output lines from a -t run:

[INFO]    Using tests dir: ( kazoj ).
[TEST]    Expected:

    type:  

    name:  
    path:  

[VERB]    Test path was empty but we have [-].
[VERB]    testpath was empty, query was not empty: ( error_42 ).
[TEST]    Can't proceed further with no valid target path, query was ( error_42 ).
[TEST]    Supported tests:
[DEBUG]    Tests dir is: ( kazoj ).
[DEBUG]    Cases dir is: ( bone ).
[DEBUG]      ( 2 ) cases ready.
[DEBUG]    Errors dir is: ( kulpo ).
[DEBUG]      ( 0 ) error cases ready.
[DEBUG]    ( 2 ) total tests ready.
[TEST]    Quitting.

[BUG] Test record have a trailing $ on every line

All test record files have a trailing $ on each line. This could be related to the escaping done on the output.

To Reproduce
Steps to reproduce the behavior:

  1. Run amboso -Tb for any test
  2. Check test.stdout or test.stderr

Expected behavior
Test output does not embed extra characters.

  • Version 1.9.6

The configure call in automake mode has no arguments

Situation

  • When building a version supporting automake, amboso runs a plain ./configure with no options.

  • It would be nice to support passing arguments to the ./configure line.

  • One possible implementation would use a still free flag to pass the arguments as a single string, like:

    • -<FLAG> "<ARGUMENTS AS ONE STRING>"

[BUG] Version 1.9.7 breaks backwards compatibility for test mode

With version 1.9.7, test mode changed and it breaks backwards compatibility for repos with amboso <=1.9.6.

Behaviour

  • <=1.9.6
    • Test mode expects a $ on each line end. This was deemed a bug, see issue at this link.
    • Code
    @@ -522,7 +522,7 @@ function escape_colorcodes_tee {
    cat -e "$file" | tee "$outfile"
  • 1.9.7
    • Test mode will not append $ to each line, and no escaping will be done on the cat $file.
    • Code
    @@ -522,7 +522,7 @@ function escape_colorcodes_tee {
    cat "$file" | tee "$outfile"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.