#pragma test-version-set "1.2.3"; ;; Positive tests #pragma version ^1.2.0; #pragma version ^1.2.3; #pragma version >1.2.0; #pragma version >0.9.9; #pragma version <1.3.0; #pragma version <2.0.0; #pragma version >=1.2.0; #pragma version <=1.3.0; #pragma version >=1.2.3; #pragma version <=1.2.3; #pragma version ^1.2.3; #pragma version 1.2.3; #pragma version =1.2.3; ;; Negative tests #pragma not-version ^1.1.0; #pragma not-version ^1.0.0; #pragma not-version ^0.2.3; #pragma not-version ^2.2.3; #pragma not-version ^1.3.3; #pragma not-version >1.2.3; #pragma not-version <1.2.3; #pragma not-version ^1.2.4; #pragma not-version >=1.2.4; #pragma not-version <=1.2.2; #pragma not-version 3.2.1; #pragma not-version =3.2.1; ;; Test incomplete (partial) version #pragma version ^1.2; #pragma version >1.2; #pragma version <1.3; #pragma version <2; #pragma version >=1.2; #pragma version <=1.3; ;; Advanced ^ behaviour (partials) #pragma version ^1.2; #pragma version ^1.0; #pragma version ^1; #pragma version ^0; #pragma not-version ^1.0.0; #pragma not-version ^0.0.0; #pragma not-version ^0.0; #pragma not-version ^1.3; #pragma not-version ^2; (int) main(int a) { return a; }